Python Dict vs List仅用于添加唯一元素

时间:2013-06-21 18:45:14

标签: python coding-style

为了实现可迭代的独特元素,[2]是否可以接受?

# [1]
if element not in list:
    list.append(element)

# [2]
dict[element] = None # value doesn't matter

1 个答案:

答案 0 :(得分:7)

使用set作为您的数据结构。

列表性能不是很好,检查元素是否在列表中需要线性时间。列表越长,它就越慢。

设置有持续的查找时间。字典也是如此,但你不需要键值对,所以它更优雅:

s = set()
s.add(element)

大于

s = {}
s[element] = None

另外,你可以获得所有不错的集合操作,例如union,intersection等。See the documentation