博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python的sorted相关
阅读量:5298 次
发布时间:2019-06-14

本文共 2258 字,大约阅读时间需要 7 分钟。

Python 字典排序

在python里,字典是内置的数据类型,是个无序的存储结构,每一个元素是key-value对:

有关key的解释:

sorted(L,key=by_name)中的key即by_name函数处理的是L这个列表的每个元素,所以by_name(t)的参数t就是L中的一个元素,比如说('Lili',75)。所以return t[0]返回的是这个元组的第一个元素,即名字Lili

 

>>> d{
9: 'xinzhou', 3: 'chen', 5: 'wuhan', 1: 'yadan'}>>> ss=sorted(d.items(),key=lambda d:d[0])            #主要看这里>>> ss[(1, 'yadan'), (3, 'chen'), (5, 'wuhan'), (9, 'xinzhou')]>>> d{
9: 'xinzhou', 3: 'chen', 5: 'wuhan', 1: 'yadan'}>>> sss=sorted(d.items(),key=lambda d:d[1])>>> sss[(3, 'chen'), (5, 'wuhan'), (9, 'xinzhou'), (1, 'yadan')]>>> sss=sorted(d.items(),key=lambda d:d[1],reverse=True)    #主要看这里>>> sss[(1, 'yadan'), (9, 'xinzhou'), (5, 'wuhan'), (3, 'chen')]>>> sss=sorted(d.items(),key=lambda d:d[1],reverse=False)>>> sss[(3, 'chen'), (5, 'wuhan'), (9, 'xinzhou'), (1, 'yadan')]

 

dict1={
'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1}#对字典按值排序,以元组的形式返回print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True)#对字典按键排序,以元组的形式返回print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)

 

参考下其他类型的排序:(估计python2)

>>> student_tuples = [        ('john', 'A', 15),        ('jane', 'B', 12),        ('dave', 'B', 10),]>>> sorted(student_tuples, key=lambda student: student[2])   # sort by age[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

 

例如:

>>> a=[(5,"chen"),(3,"hang"),(7,"wang"),(4,"yadan")]>>> a[(5, 'chen'), (3, 'hang'), (7, 'wang'), (4, 'yadan')]>>> aa=sorted(a,key=lambda a:a[0],reverse=False)>>> aa[(3, 'hang'), (4, 'yadan'), (5, 'chen'), (7, 'wang')]>>> aaa=sorted(a,key=lambda a:a[1],reverse=False)>>> aaa[(5, 'chen'), (3, 'hang'), (7, 'wang'), (4, 'yadan')]

 

 

 

 

dd

Python 字典排序

在python里,字典是内置的数据类型,是个无序的存储结构,每一个元素是key-value对:

dict1
=
{
'A'
:
9
,
'C'
:
5
,
'B'
:
1
,
'E'
:
14
,
'D'
:
3
,
'G'
:
3
,
'F'
:
3
,
'I'
:
9
,
'H'
:
7
,
'J'
:
1
,
'L'
:
2
,
'O'
:
8
,
'N'
:
3
,
'P'
:
4
,
'S'
:
10
,
'R'
:
5
,
'U'
:
1
,
'T'
:
17
,
'W'
:
1
,
'V'
:
1
}
#对字典按值排序,以元组的形式返回
print 
sorted
(dict1.iteritems(),key
=
lambda 
dict1:dict1[
1
],reverse
=
True
)
#对字典按键排序,以元组的形式返回
print 
sorted
(dict1.iteritems(),key
=
lambda 
dict1:dict1[
0
],reverse
=
False
)

转载于:https://www.cnblogs.com/hanggegege/p/5925864.html

你可能感兴趣的文章
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
WordPress GRAND FlAGallery插件“s”跨站脚本漏洞
查看>>
程序集的混淆及签名
查看>>
thinkphp框架 中 ajax 的应用
查看>>
JAVA排序(一) Comparable接口
查看>>
判断9X9数组是否是数独的java代码
查看>>
Leetcode 268 Missing Number
查看>>
00-自测1. 打印沙漏
查看>>
UNITY在VS中调试
查看>>
福建省第八届 Triangles
查看>>
P1182 数列分段`Section II` P1316 丢瓶盖 二分答案
查看>>
更新下载库update绝对详解
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
Scala入门(1)Linux下Scala(2.12.1)安装
查看>>
laravel
查看>>
installing the matplotlib via pip in the enviroment dos
查看>>
bzoj3312: [Usaco2013 Nov]No Change
查看>>
如何改善下面的代码 领导说了很耗资源
查看>>