【发布时间】:2014-12-29 09:37:32
【问题描述】:
我正在编写一个函数来删除一个列表中的重复项。具体:
输入:一个列表
输出:没有任何重复的列表
这是我的代码:
def remove_duplicate(s_list):
for member in s_list:
for other in s_list.remove(member):
if other == member:
s_list.remove(other)
return s_list
之后,我尝试运行remove_duplicate([1,2,3,4]),错误是
for other in s_list.remove(member):
TypeError: 'NoneType' object is not iterable
【问题讨论】:
-
list.remove是就地,它没有return任何东西。此外,不要在迭代列表时修改列表。 -
您可以使用
list(set(s_list))删除重复项。 -
但是请注意,
sets 不保证订单。你应该看看stackoverflow.com/q/7961363/3001761
标签: python duplicates iterable nonetype