2012-11-30 106 views
1

怎麼我一本字典的元素進行排序:如何排序的字典

with open('directory file txt','r') as f: 
    for line in f: 
       keys = line.strip().split('.') 
       value = keys[-1] 
       for key in reversed(keys[1:-1]): 
        value = {key: value} 
       result[keys[0]]=value 

現在如果打印鍵我有這樣的:

['a','b','c','d','1'] 
['a','f','e','d','3'] 
['f','b','c','d','2'] 
['a','b','c','d','0'] 

我可以我的最後一個元素定做各種並將其保存到文件中? 所以我的輸出將是:

a.b.c.d.0 
a.b.c.d.1 
f.b.c.d.2 
a.f.e.d.3 

回答

1

你不需要字典。可以讀取行作爲一個列表:

with open('directory file txt','r') as f: 
    lines = f.readlines() 

則列表直接通過指定排序排序鍵:

lines.sort(key = lambda s: int(s.rsplit('.', 1)[1])) 
+0

好,謝謝,但如果我要訂購多字典的元素i我可以做嗎? – user1841492

+0

@ user1841492:字典沒有順序。列表有順序。 –

+0

是的,當然..但如果我想打印字典的元素按價值排序? – user1841492