map()函數可以對一個數據進行同等迭代操作。 例如: def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) print(list(r)) map函數傳入的第一個參數就是函數本身,即f。第二個參數是要操作的數據 map() 作為 ...
map()函數可以對一個數據進行同等迭代操作。
例如:
def f(x):
return x * x
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(r))
map函數傳入的第一個參數就是函數本身,即f。第二個參數是要操作的數據
map() 作為高階函數,事實上它把運算規則抽象了,因此,我們不但可以計算簡單的 f(x)=x 2 ,還可以計算任意複雜的函數,比如,把這個list 所有數字轉為字元串:
print(list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
filter() 的作用是從一個序列中篩出符合條件的元素。
語法:
filter函數的語法是filter(函數名,序列)
list1=[20,12,13,5,8,19]
def fa(n):#過濾出大於10的數字,並生成一個新的列表
list2=[]
if n>10:
list2.append(n)
return list2
print(list(filter(lambda n:n>10,list1)))#使用filter配合lambda函數實現
輸出結果:[20,12,13,19]
map函數和filter函數都可以結合lambda函數使用,可以實現對一個序列中的每一個元素做同樣的事情