在 Python 中,为什么这两个 5 * ['th'] 和 [5 * ' th'] 给出几乎相同的结果? 这里的问题是为什么 5* ['th'] 给出的列表是五倍而不是五个列表。
>>>5 * ['th']
['th', 'th', 'th', 'th', 'th']
>>> [5 * 'th']
['ththththth']
对于 5 * ['th'] ,预期结果是 5 个列表!
请您参考如下方法:
why do these... give almost the same result?
他们没有。
5 * ['th']
这将生成一个包含单个元素 'th' 的列表,然后将其乘以 5。结果是一个包含该元素 5 个副本的列表:
['th', 'th', 'th', 'th', 'th']
这个列表的长度是5。
[5 * ' th']
这会将字符串 ' th' 连接五次,生成字符串 ' th th th th th',然后创建一个以该字符串作为唯一字符串的列表元素。
[' th th th th th']
这个列表的长度是1。
