我尝试使用列表时遇到一些错误,
new_list=new_list+[temp]
但是当我使用list(temp)时它不起作用
new_list=new_list+list(temp)
答案 0 :(得分:1)
出现错误是因为您试图创建一个带有整数的列表:
temp = 1
print(list(temp))
输出:
TypeError: 'int' object is not iterable
list()构造函数返回元素的可变序列列表。可迭代参数是可选的。您可以提供任何序列或集合(例如字符串,列表,元组,集合,字典等)。如果未提供任何参数,则返回一个空列表。
下面的示例工作正常,因为您将一个整数放在列表中:
temp = 1
print([temp])
输出:
[1]
该列表是使用一对方括号构成的。
答案 1 :(得分:0)
根据python官方documentation,列表对象可以通过几种方式构造:
- 使用一对方括号表示空白列表:[]
- 使用方括号,并用逗号分隔项目:[a],[a,b,c]
- 使用列表推导:[x代表x代表x处于可迭代状态]
- 使用类型构造函数:list()或list(iterable)
因此,[]
是语法文字,list()
是内置的构造函数。对于后者,接受的参数是可迭代的(如果未提供参数,则构造函数将创建一个新的空列表[]
),这就是list(1)
引发TypeError的原因。