Re: [問題] 有關dict的中文的排序問題

看板Python作者 (hazton)時間15年前 (2009/07/10 18:22), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《hazton (hazton)》之銘言: : # -*- coding: utf-8 -*- : keyword={'筆':1} : keyword.setdefault('鉛筆',1000) : keyword.setdefault('鋼筆',200) : print sorted(keyword.items(), key=lambda d:d[1]) : 以上程式是我想讓最後輸出的結果排序依照1,200,1000輸出 : 也就是 : 筆:1 : 鋼筆:200 : 鉛筆:1000 : 不過用以上的sorted時中文總是一堆亂碼,請問有方法可以改善這情形嘛? 自己回自己~ 目前改了這個寫法可以解決這個問題 # -*- coding: utf-8 -*- keyword={'筆':1} keyword.setdefault('鉛筆',1000) keyword.setdefault('鋼筆',200) li = sorted(keyword.items(), key=lambda d:d[1]) length=len(li) for i in range(length): #相當於for i=0,1,2 由小到大輸出 print li[i][0],li[i][1] li.reverse() #由大到小輸出 length=len(li) for i in range(length): #相當於for i=0,1,2 print li[i][0],li[i][1] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.245.199

07/10 19:42, , 1F
為甚麼要用dictionary呀?
07/10 19:42, 1F

07/11 03:08, , 2F
for i in li: print i[0], i[1] #可能好一點
07/11 03:08, 2F
文章代碼(AID): #1ALnPBcn (Python)
文章代碼(AID): #1ALnPBcn (Python)