我從所謂的「ID2」的輸入文件,該文件是建立在這種格式閱讀與空間添加字符串字典的Python值(2.7)+排序
9 This
6 This Is
15 This Is The
42 This Is The Word
我想編寫一個腳本,將每行添加到自己的字典中(數字是關鍵字,任何後面的單詞都是該值)。目前,我的代碼僅適用於不包含空格的字符串(即僅適用於第一行「9 This」)。我收到的錯誤是'ValueError:解包太多的值'。
我還需要腳本來打印'key:value'結果(而不是字典本身)並將其按數字排序。我很確定我需要dict.keys和list.sort,但我不確定如何實現。下面是我的代碼至今:
d = {}
with open("id2") as f:
for line in f:
(key, val) = line.split()
d[int(key)] = val
print d
'將每行添加到自己的字典中' - 您是否試圖爲文件中的每一行創建一個新字典? – thefourtheye
在python 3.x中,你可以使用擴展的iterable解包:https://www.python.org/dev/peps/pep-3132/例子:'key,* val = line.split()'雖然,我知道你在Python 2,所以這不適用:) – Shashank