如果键已经存在于字典中,如何向它添加多个值 (Python)

If key already exists in a dict, how to add multiple values to it (Python)

我循环遍历字典中的步骤并为每个步骤提取联系人 phone 号码和 ID,并将它们作为 key/value 对放入新字典中:contacts

contacts = {}

for execution_step in execution_steps["steps"]:
    main_execution_context = get_execution_context(execution_step["url"])
    contact_phone = main_execution_context["contact"]
    id = main_execution_context["id"]
    contacts[contact_phone] = id

如果有 contact_phone 的重复项,即键已经存在,是否可以将值对 (id) 附加到现有值上,从而创建与相同的 phone 个号码?

将每个值保存为 list。如果密钥存在,append 到列表。

contacts = {}

for execution_step in execution_steps["steps"]:
    main_execution_context = get_execution_context(execution_step["url"])
    contact_phone = main_execution_context["contact"]
    if contact_phone not in contacts:
        contacts[contact_phone] = list()
    contacts[contact_phone].append(main_execution_context["id"])
编辑:

要添加新密钥:

contacts["example_number"] = list()
contacts['example_number'].append(main_execution_context["id"])

或者:

contacts["example_number"] = [main_execution_context["id"]]

您可以使用defaultdict。仅显示关键代码:

from collections import defaultdict
contacts = defaultdict(list)
contacts[contact_phone].append(id)