我有一個巨大的文件(大約有200k個輸入)。輸入的格式爲:在Python中創建一個包含列表的字典
A B C D
B E F
C A B D
D
我讀這個文件,並將其在列表存儲如下:
text = f.read().split('\n')
這種分裂,只要自己認爲一個新行的文件。因此,文本如下所示:
[[A B C D] [B E F] [C A B D] [D]]
我必須現在將這些值存儲在字典中,其中鍵值是每個列表中的第一個元素。即密鑰將是A,B,C,D。 我發現很難輸入值作爲列表的其餘元素。即字典應該是這樣的:
{A: [B C D]; B: [E F]; C: [A B D]; D: []}
我也做了以下內容:
inlinkDict = {}
for doc in text:
adoc= doc.split(' ')
docid = adoc[0]
inlinkDict[docid] = inlinkDict.get(docid,0) + {I do not understand what to put in here}
請幫幫忙,我怎麼應該值添加到我的字典。如果列表中沒有元素,那麼它應該是0,除了那些將是關鍵值的元素。就像例如在0
你想要的字典中'{A:[B,C,D]; B:[E,F]; C:[A,B,D]; D:[]}'?或者也許'{A:「B C D」; B:「E F」; C:「A B D」; D:0}'? – huon 2012-03-25 05:27:38
請編輯你的問題,說出你想要做的重複鍵;例如,如果你有第5行包含'A P Q R'?你想如何將B C D ...的值存儲爲列表'['B','C','D']'?如果將空列表的情況表示爲空列表[[]',而不是整數「0」)會更好。 – 2012-03-25 05:34:13
@JohnMachin:沒有重複的值。是的,將值存儲爲列表肯定會有所幫助。我將編輯我的問題。 – Nerd 2012-03-25 05:38:56