應(yīng)用:sort的使用
列表.sort(key=None, reverse=False)
列表中有字典:列表.sort(key=lambda x:x[key值])
a=sorted(list1,key=lambda x :x[key值])
使用sort的時(shí)候,可以通過給key賦一個函數(shù)變量,來規(guī)定列表中的元素按照什么標(biāo)準(zhǔn)來排序。
這兒的函數(shù)變量要求要有一個參數(shù)和一個返回值。參數(shù)代表列表中的元素,返回值代表按照那個標(biāo)準(zhǔn)排序
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}
]
# 根據(jù)成績排序
# 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]
函數(shù)調(diào)用之前不執(zhí)行,上面為展開的函數(shù),未執(zhí)行前的樣子,最終的函數(shù)樣子是item=4時(shí)