map是python 內建的高階函式,其可以傳入倆個引數,第乙個引數是函式,第二個引數是乙個iterable例如list。
def aa(a):
return a*a
r=map(aa,[1,2,3,4])
map的返回值是乙個iterator需要使用list 或者for 輸出所有元素。
print([a for a in map(lambda cc:cc+cc,[1,2,3,4])])
主要是用於聚合操作
from functools import reduce
digits =
def char2num(s):
return digits[s]
def str2int(s):
return reduce(lambda x, y: x * 10 + y, map(char2num, s))
和map 類似都是接收倆個引數乙個是函式乙個引數是序列,filter 是用於對序列的過濾,通過判斷true 或者是false 來決定元素的去留。
def _odd_iter():
n = 1
while true:
n = n + 2
yield n
def _not_divisible(n):
return lambda x: x % n > 0
def primes():
yield 2
it = _odd_iter() # 初始序列
while true:
n = next(it) # 返回序列的第乙個數
yield n
it = filter(_not_divisible(n), it) # 構造新序列
if __name__ == '__main__':
print([a for a in d(9)])
print([a for a in map(lambda cc:cc+cc,[1,2,3,4])])
# print([a for a in reduce(lambda a,b:a*10+b,map(lambda cc:cc*2+cc,range(6)))])
for n in primes():
if n < 1000:
print(n)
else:
break
是乙個進行用來排序的函式
print(sorted(['bob', 'about', 'zoo', 'credit'], key=str.lower, reverse=true))
python 內建高階函式
1.map abs i for i in 1,3,4,5 1 對於序列每個元素求絕對值 import random from functools import reduce print list map abs,1,3,4,5 2 對於序列每個元素求階乘 5 import random deffac...
python 內建高階函式
1.map map 函式接收兩個引數,乙個是函式,乙個是序列 map將傳入的函式依次作用到序列的每個元素,並且把結果 作為新的序列返回 求絕對值 print map abs,1,3,4,5 輸出 map列印的不是乙個列表而是乙個物件,所以我們需要轉換為列表才能列印。print list map ab...
python(內建高階函式)
1.高階函式介紹 2.內建高階函式 1 map function,iterable 函式 將列表 a 中的元素全部轉換成字串 a 1,2,3,4 b map str,a print list b 將下面stu列表中的姓氏進行首字母大寫操作 stu zhao qian sun li 自定義首字母大寫方...