匿名函数和sorted函数

使用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']

  

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