Heim  >  Artikel  >  Backend-Entwicklung  >  Python实现字典依据value排序

Python实现字典依据value排序

WBOY
WBOYOriginal
2016-06-10 15:06:151285Durchsuche

具体内容如下:

使用sorted将字典按照其value大小排序

>>> record = {'a':89, 'b':86, 'c':99, 'd':100}
>>> sorted(record.items(), key=lambda x:x[1])
[('b', 86), ('a', 89), ('c', 99), ('d', 100)]

sorted第一个参数要可迭代,可以为tuple, list

>>> items = [(1, 'B'), (1, 'A'), (2, 'A'), (0, 'B'), (0, 'a')]
>>> sorted(items)
[(0, 'B'), (0, 'a'), (1, 'A'), (1, 'B'), (2, 'A')]

为什么(0, 'B')在(0, 'a')前面?

因为ASCII码中大写字母排在在小写字母前面,使用str.lower()方法改变其顺序

>>> sorted(items, key=lambda x:(x[0], x[1].lower()))
[(0, 'a'), (0, 'B'), (1, 'A'), (1, 'B'), (2, 'A')]

以上内容是关于Python实现字典依据value排序的相关知识,希望对大家有所帮助!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn