python字典中的值为什么不允许重复
python字典中的值不允许重复的原因是:1、有一条明确原则,每个键只能对应一个项;2、当有键发生冲突时,取最近的赋值;3、键必须是可哈希的。
python字典中的值不允许重复的原因是:
字典中的值没有任何限制, 可以是任意Python对象,即从标准对象到用户自定义对象皆可,但是字典中的键是有类型限制的。
1、不允许一个键对应多个值。必须明确一条原则:每个键只能对应一个项。也就是说:一键对应多个值是不允许的(像列表、元组和其他字典这样的容器对象是可以的)。 当有键发生冲突(即字典键重复赋值),取最后(最近)的赋值。Python并不会因字典中的键存在冲突而产生一个错误,它不会检查键的冲突是因为如果真这样做的话,在每个键-值对赋值的时候都会做检查,这将会占用一定量的内存。如:>>> dict1 = {'foo':789, 'foo': 'xyz'} >>> dict1 结果:{'foo': 'xyz'}
2、键必须是可哈希的。大多数Python对象可以作为键,但它们必须是可哈希的对象。像列表和字典这样的可变类型,由于它们不是可哈希的,所以不能作为键。所有不可变的类型都是可哈希的,因此它们都可以做为字典的键。
相关免费学习推荐:python教程(视频)