Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (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']}
I excpected the same result for dict_one and dict_two. Could anyone please explain the difference ?