作者hazton (hazton)
看板Python
標題Re: [問題] 有關dict的中文的排序問題
時間Fri Jul 10 18:22:02 2009
※ 引述《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
推 huggie:為甚麼要用dictionary呀? 07/10 19:42
推 cakewalks:for i in li: print i[0], i[1] #可能好一點 07/11 03:08