在我的项目中,我正在尝试浏览一个包含许多字符串并将其拆分的文件。有多条线。我希望拆分字符串的每个部分进入一个字典,但我不确定这是否可能。现在我有:
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 $
答案 0 :(得分: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()
。