为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

我什么时候应该使用字典,列表或集合?是否有更适合每种数据类型的方案?
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

一个list保持秩序,dictset不要:当你关心的秩序,因此,您必须使用list(如果你的容器的选择是有限的这三个,当然;-)。

dict与每个键关联一个值,而listset仅包含值:很明显,非常不同的用例。

set要求项目是可哈希的,list不是:如果您有不可哈希的项目,则不能使用,set而必须使用list

set禁止重复,list不禁止:也是至关重要的区别。(可以在以下位置找到“多重集”,该多重集将重复项映射到不止一次存在的项目的不同计数中;如果出于某些奇怪的原因而无法导入,则collections.Counter可以将其构建为,或者在2.7之前的版本中Python作为,使用项目作为键,并将相关值作为计数)。dictcollectionscollections.defaultdict(int)

set(或dict键中)中检查值的成员身份非常快捷(花费一个恒定,短的时间),而在列表中,它花费的时间与列表的长度成正比(在一般情况下和最坏情况下)。因此,如果您有可散列的项目,则不关心顺序或重复项,而希望快速进行成员资格检查set比更好list


查看完整回答
反对 回复 2019-10-04
  • 3 回答
  • 0 关注
  • 1496 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信