如果键已经存在于字典中,如何向它添加多个值 (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)
我循环遍历字典中的步骤并为每个步骤提取联系人 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)