有人能为我解释一下这种行为吗?
mapping = dict.fromkeys([1, 2, 3], [])
objects = [{'pk': 1}, {'pk': 2}, {'pk': 3}]
for obj in objects:
pk = obj['pk']
mapping[pk].append(obj)
print mapping
# expected: {1: [{'pk': 1}], 2: [{'pk': 2}], 3: [{'pk': 3}]}
# got: {1: [{'pk': 1}, {'pk': 2}, {'pk': 3}], 2: [{'pk': 1}, {'pk': 2}, {'pk': 3}], 3: [{'pk': 1}, {'pk': 2}, {'pk': 3}]}
我试图将objects
中的字典映射到另一个字典,其键是原始字典的属性。假设objects
列表包含每个唯一PK的多个对象(我不仅仅在这里使用map
的原因)。