2017-06-04 64 views
0

新的Python,並試圖弄清楚爲什麼以下2所列出產生不同的輸出格式差異 <pre><code>n=5 mylist = "*" * n print(mylist) mylist = ["*", "*", "*", "*", "*"] print(mylist) </code></pre> <p>輸出:</p> <pre class="lang-none prettyprint-override"><code>***** ['*', '*', '*', '*', '*'] </code></pre>

+1

剛剛意識到mylist =「*」* n可能不會生成列表 – cmull

+0

不,它不。它通過連接'*'+'*'+ .. n次創建一個字符串對象。它仍然是一個字符串對象。 – Rosh

回答

2

"*" * 5給您長度爲5的字符串。

["*"] * 5給你長的五個字符串列表1.

在這兩種情況下,結果都與「輸入」類型相同,只是五倍。

0

你的第一個變量是一個字符串,第二個變量是一個列表。

當您執行「*」並將其乘以n時,您將該字符乘以n次並返回一個字符串。

第二個聲明爲列表,因此打印爲列表。

0

在Python使用乘法運算符(*)以該字符串根據數重複的字符串時,例如

str = "-" * 6 # output : ------

注:此操作返回字符串和不一個清單

第二個輸出只是一個元素列表,其輸出如預期

我希望我已經幫助

0

我的輸出

***** 
['\\*', '\\*', '\\*', '\\*', '\\*'] 

顯然,"*" * n是一個字符串,["\*", "\*", "\*", "\*", "\*"]是一個列表。如果你想創建一個列表,請首先設置一個列表。

相關問題