我有一个问题,我希望你能帮助我。我有以下的解释:在pythons字典中查找关联的“孩子/父母”
{
'100': {'name': Glenn,'age': 25,'cars': 2},
'101': {'name': Glenn,'age': 25,'cars': 2,'children': ['105', '102']},
'102': {'name': Glenn,'age': 25,'cars': 2,'children': ['103']},
'103': {'name': Glenn,'age': 25,'cars': 2},
'104': {'name': Glenn,'age': 25,'cars': 2,'children': ['105', '102']},
'105': {'name': Glenn,'age': 25,'cars': 2,'children': ['124']},
'106': {'name': Glenn,'age': 25,'cars': 2},
'107': {'name': Glenn,'age': 25,'cars': 2,'children': ['199']},
}
的任务是:在这个列表中的每个条目,找出他们是否有此列表中的父母,如果是的话,使他们的字典中的条目与parent: ['101','104']
等
如您所见,有些人在此列表中没有父级,因此不应该添加此“父级”条目。而其他人有孩子不在名单上,那些孩子被忽视,因为我们没有关于他们的信息。
我曾尝试以下:
def addParentInfo(patients):
for pkey, pvalue in patients.items():
for pkey2,pvalue2 in patients.items():
if pkey in pvalue["children"]:
pvalue[parent] = [pkey2]
但似乎这样无组织的,我不知道该怎么走“的名单之外的孩子”的护理问题,而当一个人有两个父在列表中,我应该将它们添加到列表中,而不是重置pvalue [parent]。
那么有人可以教我如何使这个有效和顺利? :)
是否可以这样做,以便父级信息在列表中,而不是在一个集合中? :) – Nick
@Nick是的,只是使用:'setdefault('parent',[])。appendd(k)' –
谢谢,那只是我正在寻找的解决方案。感谢您的时间和帮助:) – Nick