Python:获取int-not-iterable类型的参数时出错

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

为什么我会得到一个“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

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
成为一个列表