首页 > 其他 > 详细

匿名函数和sorted函数

时间:2019-08-26 09:21:57      阅读:119      评论:0      收藏:0      [点我收藏+]
使用lambda函数取出字典中的value:
d = {‘a‘: 24, ‘g‘: 52, ‘i‘: 12, ‘k‘: 33}
print(list(map(lambda x:x[1],d.items())))
[24, 52, 12, 33]
使用sort函数排序
d_1=sorted(d.items(),key=lambda x:x[1],reverse=False)
print(‘d_1:‘,d_1)

d_1: [(‘i‘, 12), (‘a‘, 24), (‘k‘, 33), (‘g‘, 52)]
 
d_2=sorted(d.items(),key=lambda x:x[1],reverse=True)
print(‘d_2:‘,d_2)
d_2: [(‘g‘, 52), (‘k‘, 33), (‘a‘, 24), (‘i‘, 12)]

"""
按照每个元组元素的长度排序
"""
l = [(1,5,3),(1,3,6,3),(1,1,2,4,5,6),(1,9)]
def func(item):
return len(item)
l1=sorted(l,key=func)
print(l1)
[(1, 9), (1, 5, 3), (1, 3, 6, 3), (1, 1, 2, 4, 5, 6)]
l2=sorted(l,key=lambda x:len(x))
print(l2)

[(1, 9), (1, 5, 3), (1, 3, 6, 3), (1, 1, 2, 4, 5, 6)]

列表中包含字典,元素按照日期的大小升序排序

s= [{‘日期‘: ‘2018-09-04‘, ‘测试1‘: ‘50.00 %‘, ‘测试2‘: ‘100.00%‘}, {‘日期‘: ‘2018-09-05‘, ‘测试1‘: ‘100.00%‘, ‘测试2‘: ‘无执行‘}, {‘日期‘: ‘2018-09-06‘, ‘测试1‘: ‘100.00%‘, ‘测试2‘: ‘100.00%‘}, {‘日期‘: ‘2018-08-31‘, ‘测试1‘: ‘无执行‘, ‘测试2‘: ‘无执行‘}, {‘日期‘: ‘2018-09-01‘, ‘测试1‘: ‘无执行‘, ‘测试2‘: ‘无执行‘}, {‘日期‘: ‘2018-09-02‘, ‘测试1‘: ‘无执行‘, ‘测试2‘: ‘无执行‘}, {‘日期‘: ‘2018-09-03‘, ‘测试1‘: ‘无执行‘, ‘测试2‘: ‘无执行‘}]
print(sorted(s, key = lambda x : x[‘日期‘]))

print(list(map(lambda x:x[‘日期‘],s)))

 第一个print,按日期排序 

[{日期: 2018-08-31, 测试1: 无执行, 测试2: 无执行}, {日期: 2018-09-01, 测试1: 无执行, 测试2: 无执行}, {日期: 2018-09-02, 测试1: 无执行, 测试2: 无执行}, {日期: 2018-09-03, 测试1: 无执行, 测试2: 无执行}, {日期: 2018-09-04, 测试1: 50.00 %, 测试2: 100.00%}, {日期: 2018-09-05, 测试1: 100.00%, 测试2: 无执行}, {日期: 2018-09-06, 测试1: 100.00%, 测试2: 100.00%}]
[2018-09-04, 2018-09-05, 2018-09-06, 2018-08-31, 2018-09-01, 2018-09-02, 2018-09-03]

第二个print,利用匿名函数取出列表中字典的日期对应的value值

[‘2018-09-04‘, ‘2018-09-05‘, ‘2018-09-06‘, ‘2018-08-31‘, ‘2018-09-01‘, ‘2018-09-02‘, ‘2018-09-03‘]

  

匿名函数和sorted函数

原文:https://www.cnblogs.com/testerren/p/11410079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!