Home > Article > Backend Development > Why are values in Python dictionary not allowed to be repeated?
The reasons why duplicate values in the python dictionary are not allowed are: 1. There is a clear principle that each key can only correspond to one item; 2. When there is a key conflict, the most recent assignment is taken; 3. The key must be hashable.
The reason why duplicate values in the python dictionary are not allowed is:
There are no restrictions on the values in the dictionary. It can be any Python object, from standard objects to user-defined objects, but the keys in the dictionary are type-restricted.
1. One key is not allowed to correspond to multiple values. One principle must be made clear: each key can only correspond to one item. In other words: multiple values corresponding to one key are not allowed (container objects like lists, tuples, and other dictionaries are allowed). When there is a key conflict (that is, a dictionary key is assigned a value repeatedly), the last (most recent) assignment is taken. Python does not generate an error due to conflicting keys in the dictionary. It does not check for key conflicts because if it did, it would be checked every time a key-value pair is assigned, which would take up a certain amount of time. amount of memory. For example: >>> dict1 = {'foo':789, 'foo': 'xyz'} >>> dict1 Result: {'foo': 'xyz'}
2 , the key must be hashable. Most Python objects can serve as keys, but they must be hashable objects. Mutable types like lists and dictionaries cannot be used as keys since they are not hashable. All immutable types are hashable, so they can be used as dictionary keys.
Related free learning recommendations: python tutorial(Video)
The above is the detailed content of Why are values in Python dictionary not allowed to be repeated?. For more information, please follow other related articles on the PHP Chinese website!