看板 Python 關於我們 聯絡資訊
※ 引述《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