从字典中移除重复项
我正在尝试通过字典来去掉列表中的重复项:
def RemoveDuplicates(list):
d = dict()
for i in xrange(0, len(list)):
dict[list[i]] = 1 <------- error here
return d.keys()
但是我遇到了以下错误:
TypeError: 'type' object does not support item assignment
这是什么问题呢?
5 个回答
3
“dict”是一个数据类型,你的意思是d[list[i]] = 1
。
补充说明:这指出了你代码中的实际错误。不过其他人给出的答案提供了更好的方法来实现你想要的效果。
4
除了其他人提到的内容,像这样做是不符合Python编程风格的:
for i in xrange(0, len(lst)):
do stuff with lst[i]
你可以选择这样做,效果会更好:
for item in lst:
do stuff with item
11
你应该写成这样:
d[list[i]] = 1
但是为什么不这样做呢?
def RemoveDuplicates(l):
return list(set(l))
另外,不要把内置函数的名字当作变量名使用。这样可能会导致一些让人困惑的错误。