1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python dict sort_python sort dict 总结

python dict sort_python sort dict 总结

时间:2020-01-12 21:39:21

相关推荐

python dict sort_python sort dict 总结

python中的dict是不能排序的,只有对dict的representation进行排序,例如list或者tuple

排序肯定会用到sorted函数,那么我们就来讲一下sorted函数。

sorted

sorted(iterable,key,reverse)

iterable:表示可迭代的对象,例如dict.keys(), dict.items()

key:是一个函数,用来选择参与排序的元素

reverse:默认为False,从小到大排序,reverse=True,表示从大到小排序

按 key 排序

import operator

x = {1:2, 5:6, 3:4}

sorted_x = sorted(x.items(), key=operator.itemgetter(0))

# sorted_x = sorted(x.items(), key=operator.itemgetter(0), reverse=True)

itemgetter(0)表示取每项的第一个值,也就是键,来参与排序,默认是从小到大排序

结果 [(1, 2), (3, 4), (5, 6)]

按 value 排序

import operator

x = {1:2, 5:6, 3:4}

sorted_x = sorted(x.items(), key=operator.itemgetter(1))

itemgetter(1)表示取每项的值来排序

结果 [(1, 2), (3, 4), (5, 6)]

按 key 排序

def sortedDictValues1(adict):

items = adict.items()

items.sort()

return [value for key, value in items]

def sortedDictValues2(adict):

keys = adict.keys()

keys.sort()

return [dict[key] for key in keys]

def sortedDictValues3(adict):

keys = adict.keys()

keys.sort()

return map(adict.get, keys)

#一行语句搞定:

[(k,di[k]) for k in sorted(di.keys())]

按 value 排序

#还是一行搞定:

[ v for v in sorted(di.values())]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。