Skip to main content
 首页 » 编程设计

python之list(a) 和 [a] 有什么区别

2025年05月04日9mate10pro

我注意到我认为是等价的两个列表构造函数之间的奇怪差异。

这是一个小例子:

hello = 'Hello World' 
 
first = list(hello) 
second = [hello] 
 
print(first) 
print(second) 

此代码将产生以下输出:

['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'] 
['Hello World'] 

所以,这两个构造函数之间的区别非常明显......而且,我想这也可以推广到其他构造函数,但我无法理解其背后的逻辑。

有人可以照亮我的审讯吗?

请您参考如下方法:

list() 构造函数只接受一个 参数,该参数必须是一个可迭代。它返回一个新列表,其中每个元素都是给定可迭代对象中的一个元素。由于字符串是可迭代的(按字符),因此返回包含单个字符的列表。

[] 接受任意多的“参数”,每个参数都是列表中的一个元素;这些项目没有“评估”或迭代,它们按原样使用。

一切 as documented .