Python:获取int-not-iterable类型的参数时出错
为什么我会得到一个“int-not-iterable-error类型的参数”?这是我的简单代码Python:获取int-not-iterable类型的参数时出错,python,Python,为什么我会得到一个“int-not-iterable-error类型的参数”?这是我的简单代码 def remove_duplicates(x): out = x[0] for i in range(1,len(x)): if x[i] in out: print "duplicate " + str(x[i]) else: out.append(x[i]) return out r
def remove_duplicates(x):
out = x[0]
for i in range(1,len(x)):
if x[i] in out:
print "duplicate " + str(x[i])
else:
out.append(x[i])
return out
remove_duplicates([4,5,5,4])
获得以下输出
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in remove_duplicates
TypeError: argument of type 'int' is not iterable
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第4行,删除重复项
TypeError:类型为“int”的参数不可编辑
out=x[0]
应该是out=[x[0]]
您收到的错误表明,检查
x[i]in-out
是试图在out
中查找某个内容,并且由于out
是int
,因此此操作失败,因为int
中不能有任何内容。相反,您应该先将out
列成一个只包含x[0]
的列表。out=x[0]
应该是out=[x[0]
您收到的错误表明,检查
x[i]in-out
是试图在out
中查找某个内容,并且由于out
是int
,因此此操作失败,因为int
中不能有任何内容。相反,你应该先把out
列成一个只包含x[0]
的列表。如果x[i]in-out:要求out
是一个可编辑的列表,即列表、目录、集合等。但是,你已经将out
初始化为单个元素(x[0]
),而不是集合。如果打算将
out
作为使用x
的第一个元素初始化的列表,请执行以下操作:
out = [x[0]]
如果x[i]输入输出:
要求out
是一个iterable,即列表、dict、set等。但是,您已将out
初始化为单个元素(x[0]
),而不是集合。如果打算将
out
作为使用x
的第一个元素初始化的列表,请执行以下操作:
out = [x[0]]
分配时:
out = x[0]
out
现在是一个int
,不能执行x[i]in-out
或out.append(x[i])
之类的操作,因为out
是一个整数
你想要:
out = [x[0]]
如果您希望输出
成为列表。分配时:
out = x[0]
out
现在是一个int
,不能执行x[i]in-out
或out.append(x[i])
之类的操作,因为out
是一个整数
你想要:
out = [x[0]]
如果您希望out
成为一个列表