sort VS sorted
sort是应用在list上的方法
而sorted可应用在所有可迭代的对象【PS:返回新的list,不改变原有的list】
Example1:
a = [5,7,6,3,4,1,2]
b = sorted(a)
#sorted 不改变原来list a
#a依旧是[5,7,6,3,4,1,2]
#b为:
#[1,2,3,4,5,6,7]
Example2:
students = [('Join','A',15), ('Jane','B',12),('Dave','B',10)]
sorted(students, key = lambda s: s[2]) #按照第三个排序,即按年龄拍照
#[('Dave','B',10), ('Jane','B',12),('Join','A',15)]
sorted(students, key = lambda s: s[2], reverse = True) #倒序
#[('Join','A',15), ('Jane','B',12), ('Dave','B',10)]
lambda+map学习
匿名函数对象–相当于函数的简写
Example1:
def add (x,y):
return x+y
#等同于:lambda的一个简写
add = lambda x,y : x+y
lamda语法:
lambda args[参数] : expression [参数的表达式]
而map的函数是对任意数的迭代【作用于list,dic】
Example2:
def add2 (x):
return x+2
#用map来使用这个函数
map(add2, [1,2,3,4])
#output为 [3,4,5,6]
#用lambda替代函数add2,表示即:
map(lambda x: x+2, [1,2,3,4])