记错本

2018-10-19  本文已影响0人  高宇的简书昵称

应用:sort的使用

列表.sort(key=None, reverse=False)
列表中有字典:列表.sort(key=lambda x:x[key值])
a=sorted(list1,key=lambda x :x[key值])
使用sort的时候,可以通过给key赋一个函数变量,来规定列表中的元素按照什么标准来排序。
这儿的函数变量要求要有一个参数和一个返回值。参数代表列表中的元素,返回值代表按照那个标准排序

 def second(item):
    return item[1]
list3.sort(key=second, reverse=True)
print(list3)

list3.sort(key=lambda item: item[1])
print(list3)
list2 = [
    {'name': '张三', 'age': 20, 'score': 90},
    {'name': '李四', 'age': 28, 'score': 70},
    {'name': '王五', 'age': 18, 'score': 89}
]
# 根据成绩排序
# def get_age(item):
#     return item['score']
# list2.sort(key=get_age)
list2.sort(key=lambda item: item['score'])
print(list2)
student=[{'a':1,'b':2,'c':3},{'a':3,'b':1,'c':2}]
a=sorted(student,key=lambda i:i['b'])
print(a)

funcs = []
for item in range(1, 5):
funcs.append(lambda x: xitem)
print(item)
item = 1 ~ 4
item = 1 [lambda x: x
item]
item = 2 [lambda x: xitem, lambda x: xitem]
item = 3 [lambda x: xitem, lambda x: xitem, lambda x: xitem]
item = 4 [lambda x: x
item, lambda x: xitem, lambda x: xitem, lambda x: x*item]
函数调用之前不执行,上面为展开的函数,未执行前的样子,最终的函数样子是item=4时

print(funcs0) # 24 8
print(funcs1) # 2
4 8

上一篇下一篇

猜你喜欢

热点阅读