作者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
1F:推 huggie:为甚麽要用dictionary呀? 07/10 19:42
2F:推 cakewalks:for i in li: print i[0], i[1] #可能好一点 07/11 03:08