2012-12-04 89 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

相關問題