为了实现可迭代的独特元素,[2]是否可以接受?
# [1]
if element not in list:
list.append(element)
# [2]
dict[element] = None # value doesn't matter
答案 0 :(得分:7)
使用set
作为您的数据结构。
列表性能不是很好,检查元素是否在列表中需要线性时间。列表越长,它就越慢。
设置有持续的查找时间。字典也是如此,但你不需要键值对,所以它更优雅:
s = set()
s.add(element)
大于
s = {}
s[element] = None
另外,你可以获得所有不错的集合操作,例如union,intersection等。See the documentation。