作者animatrix (......)
看板Python
标题Re: [问题] dict如何排序
时间Wed May 4 23:48:55 2011
※ 引述《arlu (arlu)》之铭言:
: 想请问一个关於dictionary的问题,
: a_dict={'google':'gg', 'yahoo':'yy','facebook':'ff'}
: 我期望print出来的结果就是:
: {'google':'gg', 'yahoo':'yy','facebook':'ff'}
看标题以为你想要dictionary照某种方式排序
但实际上应该是希望能依照你增加进去的顺序
如果是的话 可以这样做(Python 2.7):
from collections import OrderedDict
a_dict = OrderedDict()
a_dict['google'] = 'gg'
a_dict['yahoo'] = 'yy'
a_dict['facebook'] = 'ff'
: 但实际上print(a_dict) 後,却似乎是照字母排序,如下:
: {'google': 'gg', 'facebook': 'ff', 'yahoo': 'yy'}
: 试着爬过文,但找不到类似的解法,
: 想请问有什麽方法可以使用吗?
: 感谢!!
dictionary本身无排序
若想排序 如同前面一样使用OrderedDict:
from collections import OrderedDict
a_dict = {'a':3, 'c':1, 'b':2}
#依字母排序
sorted_dict = OrderedDict(sorted(a_dict.items(), key=lambda t: t[0]))
#依数字大小排序
sorted_dict = OrderedDict(sorted(a_dict.items(), key=lambda t: t[1]))
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.213.40
※ 编辑: animatrix 来自: 140.114.213.40 (05/05 23:58)