Python 3.7.6(默认,2020 年 1 月 8 日,20:23:39)[MSC v.1916 64 位 (AMD64)]
my_list = ["a","b","c"]
dict_one = {key:[] for key in my_list}
print(dict_one)
{'a': [], 'b': [], 'c': []}
dict_two = dict.fromkeys(my_list, [])
print(dict_two)
{'a': [], 'b': [], 'c': []}
dict_one['a'].append('some_data')
dict_two['a'].append('some_data')
print(dict_one)
{'a': ['some_data'], 'b': [], 'c': []}
print(dict_two)
{'a': ['some_data'], 'b': ['some_data'], 'c': ['some_data']}
Run Code Online (Sandbox Code Playgroud)
我对 dict_one 和 dict_two 期望相同的结果。谁能解释一下区别?