我有一个巨大的文件(大约有 20 万个输入)。输入的形式为:
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 的例子一样。
最佳答案
字典理解可以简化这项任务:
>>> s = [['A','B','C','D'], ['B','E','F'], ['C','A','B','D'], ['D']]
>>> {t[0]:t[1:] for t in s}
{'A': ['B', 'C', 'D'], 'C': ['A', 'B', 'D'], 'B': ['E', 'F'], 'D': []}
关于python - 在 Python 中创建包含列表列表的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9858096/