2012-12-04 49 views
1

在我的项目中,我试图通过一个有很多字符串并将它们分开的文件。有多行。我希望拆分字符串的每个部分都能进入字典,但我不确定这是否可行。现在,我有:可以使用split()初始化并附加一个字典吗?

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

我想过使用字典和拉链,但我认为那是,如果你有名单..

我输入文件看起来像这样。 '$'是结束行。我想举个例子,'A B'是关键,'10'是价值。

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

请输入您的输入文件的示例(2或3行)?关键是什么,价值应该是什么? –

回答

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()

+0

感谢您的提示。我试图找到迭代文件对象的好方法。 – Ci3

相关问题