首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除字典中的重复项

删除字典中的重复项
EN

Stack Overflow用户
提问于 2009-11-29 03:15:26
回答 5查看 380关注 0票数 1

我正在尝试通过字典删除列表中的重复项:

代码语言:javascript
复制
def RemoveDuplicates(list):
    d = dict()

    for i in xrange(0, len(list)):
        dict[list[i]] = 1       <------- error here

    return d.keys()

但它给我带来了以下错误:

代码语言:javascript
复制
TypeError: 'type' object does not support item assignment

有什么问题吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-29 03:18:16

你应该写下:

代码语言:javascript
复制
d[list[i]] = 1

但是为什么不这样做呢?

代码语言:javascript
复制
def RemoveDuplicates(l):
    return list(set(l))

此外,不要使用内置函数名作为变量名。它可能会导致混乱的bug。

票数 11
EN

Stack Overflow用户

发布于 2009-11-29 03:31:18

除了其他人所说的之外,这样做是不自然的:

代码语言:javascript
复制
for i in xrange(0, len(lst)):
    do stuff with lst[i]

当你可以这样做的时候:

代码语言:javascript
复制
for item in lst:
    do stuff with item
票数 4
EN

Stack Overflow用户

发布于 2009-11-29 03:19:02

dict是一种类型,你的意思是d[list[i]] = 1

Addition:这指出了代码中的实际错误。但其他人提供的答案提供了更好的方法来实现你的目标。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1813469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档