Может ли кто-нибудь объяснить это поведение для меня?Странное поведение python dict
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}]}
Я пытаюсь сопоставить dicts в objects
другой Словарь, ключи которого является свойством исходного Dict. Предположим, что список objects
содержит несколько объектов каждого уникального ПК (причина, по которой я не просто использую map
здесь).
: facepalm: Спасибо. (Я буду принимать ответ ровно через 8 минут по какой-то причине) – Aaron