輸入文件 '的test.txt':字典中的列表值的列表?
a 2012 fff
b 2011 ttt
a 2011 fff
b 2012 sss
a 2011 vvv
我已確定下面的代碼來填充字典和值進行排序:
from collections import defaultdict
res = defaultdict(list)
with open('test.txt','r') as file:
for line in file:
field0, field1, field2 = line.split()
res[field0] += [field1, field2]
for i in res.keys():
print i, sorted(res[i], key=lambda x: x[0])
然而,這產生「一個[2011,2011,2012, FFF,FFF,VVV]」我想輸出是在確切相同的格式輸入(但排序):
a 2011 fff
a 2011 vvv
a 2012 fff
我不能只是排序使用原始輸入,因爲我將是裁判多次登錄並需要存儲在內存中。每行的值應存儲在列表中(即字典值是列表的列表)?
這正是我一直在尋找!我只是改變了排序,以便更簡潔一些:'對於res.keys()中的鍵:'print key,sorted(res [key]) – NewToPy 2012-02-15 20:27:37
@Christopher:不客氣,我認爲你想排序鍵也是,但你明白了。我可以期待你會[接受](http://meta.stackexchange.com/q/5234/177799)這個答案:) – 2012-02-15 20:43:27