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 升序(默认)。

 

posted @ 2021-01-20 22:34  栗子测试开发  阅读(186)  评论(0)    收藏  举报