15 嵌套 map 排序
my_map = { 'user1': {'total': 3, 'open': 0, 'resolve': 3}, 'user2': {'total': 8, 'open': 0, 'resolve': 8}, 'user3': {'total': 31, 'open': 0, 'resolve': 30}, 'user9': {'total': 9, 'open': 0, 'resolve': 9}, 'user8': {'total': 9, 'open': 0, 'resolve': 9}, 'user10': {'total': 2, 'open': 0, 'resolve': 2}, 'user7': {'total': 1, 'open': 0, 'resolve': 1}, 'user5': {'total': 3, 'open': 0, 'resolve': 3}, 'user4': {'total': 14, 'open': 0, 'resolve': 1}, 'user6': {'total': 26, 'open': 0, 'resolve': 26} }
my_generator = ((key,value) for key,value in my_map.items())
print(type(my_generator))
print(my_generator)
ordered_list = sorted(my_generator, key = lambda x:x[1]["total"], reverse=True)
print(type(ordered_list))
print(ordered_list)
结果:
<class 'generator'> <generator object <genexpr> at 0x0000018D0803FA40> <class 'list'> [('user3', {'total': 31, 'open': 0, 'resolve': 30}), ('user6', {'total': 26, 'open': 0, 'resolve': 26}), ('user4', {'total': 14, 'open': 0, 'resolve': 1}), ('user9', {'total': 9, 'open': 0, 'resolve': 9}), ('user8', {'total': 9, 'open': 0, 'resolve': 9}), ('user2', {'total': 8, 'open': 0, 'resolve': 8}), ('user1', {'total': 3, 'open': 0, 'resolve': 3}), ('user5', {'total': 3, 'open': 0, 'resolve': 3}), ('user10', {'total': 2, 'open': 0, 'resolve': 2}), ('user7', {'total': 1, 'open': 0, 'resolve': 1})]
1 lambda 函数
# lambda简化了函数定义的书写形式。使代码更为简洁,但是使用函数的定义方式更为直观,易理解。 g = lambda x:x+1 # 相当于 def g(x): return x+1
2 sorted 函数
# sorted(iterable, key=None, reverse=False) # iterable -- 可迭代对象。 # key -- 主要是用来进行比较的元素。 # reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
浙公网安备 33010602011771号