我有一個問題,我希望你能幫助我。我有以下的解釋:在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