2017-06-04 66 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是一个字符串,["\*", "\*", "\*", "\*", "\*"]是一个列表。如果你想创建一个列表,请首先设置一个列表。

相关问题