[]和列表

时间:2018-07-14 20:25:07

标签: python python-3.x list

>>>list(123)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
>>>[123]
[123]

为什么[[]工作时list(123)导致异常?

4 个答案:

答案 0 :(得分:1)

list()是类型构造函数  您放在方括号内的内容必须是可迭代的,即可以使用循环来迭代的内容。像字符串或整数列表或浮点数。作为整数本身是不可迭代的。 list(123)给出错误。但是如果您输入list('123');然后它将返回一个列表为['1','2','3']。

在[123]的情况下,它表示单个整数123的列表。因此它可以工作。就像在解释器中编写23并得到23一样。

答案 1 :(得分:1)

对于空列表,使用[]会更好,因为它更快并且避免了名称查询

内置的list()对于将其他可迭代对象转换为列表很有用。

答案 2 :(得分:0)

因为list是一个可调用对象,它将一个对象作为参数必须是可迭代的,而[]是列表文字,并且理解提供的单个int应该是列表的唯一元素。 / p>

如果要使用list,则必须将数字包装在可迭代的数字中,例如list((123,))

答案 3 :(得分:-1)

list()构造函数的语法为:

list([iterable])

并且int不可迭代。这样。