记错本
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: xitem]
item = 2 [lambda x: xitem, lambda x: xitem]
item = 3 [lambda x: xitem, lambda x: xitem, lambda x: xitem]
item = 4 [lambda x: xitem, lambda x: xitem, lambda x: xitem, lambda x: x*item]
函数调用之前不执行,上面为展开的函数,未执行前的样子,最终的函数样子是item=4时