我想要做的就是删除列表中的任何重复元素L.C(L)正在工作,但D(L)显示TypeError:当我运行它时,类型'NoneType'的参数不可迭代。我认为这两个功能之间没有区别。我无法弄清楚它出现类型错误的原因:
def C(L):
l = []
for i in range(len(L)):
if not(L[i] in l):
l = l + [L[i]]
return l
def D(L):
l = []
print type(l)
for i in range(len(L)):
if not (L[i] in l):
l = l.append(L[i])
return l
感谢您的帮助。
答案 0 :(得分:3)
此:
l = l + [L[i]]
不等于此:
l = l.append(L[i])
上面一行为调用l
函数的值append
分配None
,即l.append(L[i])
。
您可以改为使用:
{{1}}
答案 1 :(得分:0)
l = l.append(L[i])
这会导致l
为非,因为附加功能就位。因此,只需将l = l.append(L[i])
更改为l.append(L[i])
即可。这应该有所帮助。