一个
list保持秩序,
dict而
set不要:当你关心的秩序,因此,您必须使用
list(如果你的容器的选择仅限于这三种,当然;-)。
dict与每个键关联一个值,而
list而
set仅包含值:很明显,非常不同的用例。
set要求项目是可哈希的,
list不是:如果您有不可哈希的项目,则不能使用,
set而必须使用
list。
set禁止重复,
list不禁止:也是至关重要的区别。(可以在以下位置找到“多重集”,该多重集将重复项映射到不止一次存在的项目的不同计数中;如果出于某些奇怪的原因而无法导入,则
collections.Counter可以将其构建为,或者在2.7之前的版本中Python作为,使用项目作为键,并将相关值作为计数)。
dict``collections``collections.defaultdict(int)
在
set(或
dict键中)中检查值的成员身份非常快捷(花费一个恒定的短时间),而在列表中,它花费的时间与列表的长度成正比(在一般情况下和最坏情况下)。因此,如果您有可散列的项目,则不关心顺序或重复项,而希望快速进行成员资格检查
set比更好
list。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)