从字典中移除重复项

1 投票
5 回答
543 浏览
提问于 2025-04-15 16:29

我正在尝试通过字典来去掉列表中的重复项:

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))

另外,不要把内置函数的名字当作变量名使用。这样可能会导致一些让人困惑的错误。

撰写回答