1

在我的项目中,我试图通过一个包含许多字符串的文件并将它们拆分。有多条线路。我希望拆分字符串的每个部分都进入一个字典,但我不确定这是否可能。现在我有:

while inFile:
    key, value = inFile.readline().lower().rstrip().rsplit(' ', 1)

我考虑过使用 dict 和 zip,但我认为那是如果你有列表的话..

我的输入文件看起来像这样。'$' 是结束行。例如,我想将“A B”作为键,将“10”作为值。

A B 10 $
A C 4$
B D 29$
B E 1 $
4

1 回答 1

4

您应该能够执行以下操作:

data = dict(line.lower().rstrip().rsplit(' ', 1) for line in inFile)

这是可行的,因为dict()它可以接受可迭代的键/值对,并且只要文件中的每一行至少包含一个空格,line.lower().rstrip().rsplit(' ', 1)就会产生一个二元素元组。

请注意,遍历文件对象将为您提供文件中的每一行,因此for line in inFile:优先于while inFile: line = inFile.readline().

于 2012-12-04T02:28:01.947 回答