經常使用內置函數python
lst = [{'id':1,'name':'alex','age':18}, {'id':1,'name':'wusir','age':17}, {'id':1,'name':'taibai','age':16}, ] ls = filter(lambda e:e['age'] > 16,lst) print(list(ls)) 結果: [{'id': 1, 'name': 'alex', 'age': 18}, {'id': 1, 'name': 'wusir', 'age': 17}]
lis = [1, 2, 3, 4, 5] lis1 = [] for i in lis: def square(x): # 計算平方數 return x ** 2 a = square(i) lis1.append(a) print(lis1) 結果:[1, 4, 9, 16, 25] def square(x): # 計算平方數 return x ** 2 a = map(square, [1, 2, 3, 4, 5]) # 計算列表各個元素的平方 print(list(a)) 結果:[1, 4, 9, 16, 25] a = map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函 print(list(a)) 結果:[1, 4, 9, 16, 25]
from functools import reduce def func(x,y): return x + y ret = reduce(func,[3,4,5,6,7]) print(ret) 結果:25 匿名函數版 from functools import reduce l = reduce(lambda x,y:x*10+y,[1,2,3,4]) print(l) 結果:1234 # x = 1,y = 2 12 # x = 12,y = 3 123 # x = 123,y = 4 1234
from functools import reduce lis = [1, 2, 3, 4] result = reduce(lambda x, y: x+y, lis) print(result) 結果:10
from functools import reduce str1 = "fufhfjhjfurfh" b =reduce(lambda a,x:a+x.count("f"),str1,0) # 0是從0算起 print(b) 結果:5 from functools import reduce str1 = "fufhfjhjfurfh" b =reduce(lambda a,x:a+x.count("f"),str1,1) # 1是從1算起 print(b) 結果:6
a = [5, 7, 6, 3, 4, 1, 2] b = sorted(a) # 保留原列表 print(b) lis = [('b', 2), ('a', 1), ('c', 3), ('d', 4)] b = sorted(lis, key=lambda x: x[1]) # 利用key print(b) students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] b = sorted(students, key=lambda s: s[2]) # 按年齡排序 print(b) b = sorted(students, key=lambda s: s[2], reverse=True) # 按降序 print(b) 結果:[1, 2, 3, 4, 5, 6, 7] [('a', 1), ('b', 2), ('c', 3), ('d', 4)] [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
print(max([1,2,3])) # 返回此序列最大值
ret = max([1,2,-5,],key=abs) # 按照絕對值的大小,返回此序列最小值 print(ret) # 加key是能夠加函數名,min自動會獲取傳入函數中的參數的每一個元素,而後經過你設定的返回值比較大小,返回最大的傳入的那個參數。 print(max(1,2,-5,6,-3,key=lambda x:abs(x))) # 能夠設置不少參數比較大小 dic = {'a':3,'b':2,'c':1} print(max(dic,key=lambda x:dic[x])) # x爲dic的key,lambda的返回值(即dic的值進行比較)返回最大的值對應的鍵
print(min([1,2,3])) # 返回此序列最小值
ret = min([1,2,-5,],key=abs) # 按照絕對值的大小,返回此序列最小值 print(ret) # 加key是能夠加函數名,min自動會獲取傳入函數中的參數的每一個元素,而後經過你設定的返回值比較大小,返回最小的傳入的那個參數。 print(min(1,2,-5,6,-3,key=lambda x:abs(x))) # 能夠設置不少參數比較大小 dic = {'a':3,'b':2,'c':1} print(min(dic,key=lambda x:dic[x])) # x爲dic的key,lambda的返回值(即dic的值進行比較)返回最小的值對應的鍵