使用fromkeys 时注意参数value 的赋值

Python 字典(Dictionary) fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值。

例如:

>>> names = ('xiaoming', 'xiaoli', 'xiaowang')
>>> money = dict.fromkeys(names, 10)  # 每个人给10块钱
>>> money
{'xiaoming': 10, 'xiaowang': 10, 'xiaoli': 10}
>>>  

但要注意下面两种操作,参见:

第一种:

>>> k = ('a', 'b', 'c')
>>> d = dict.fromkeys(k, [])
>>> d
{'a': [], 'c': [], 'b': []}
>>> d['a'] = 2
>>> d
{'a': 2, 'c': [], 'b': []}
>>> 

第二种

>>> k = ('a', 'b', 'c')
>>> d = dict.fromkeys(k, [])
>>> d
{'a': [], 'c': [], 'b': []}
>>> d['a'].append('1')
>>> d
{'a': ['1'], 'c': ['1'], 'b': ['1']}
>>> 

第二种的结果不是我们想要的

Relative Articles