在Python中,何时使用字典,列表或集合?

我什么时候应该使用字典,列表或集合?

是否有更适合每种数据类型的方案?


牧羊人nacy
浏览 1497回答 3
3回答

郎朗坤

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