1. 程式人生 > >高階函式map\

高階函式map\

二、python中內建的高階函式(map,filter,reduce)

1、map()函式

 作用:用函式對可迭代物件中的每一個元素作為引數計算出新的可迭代物件。
 語法:  
 map(fun,Iterable1,Iterable2,...)

  說明:

    1.第一個引數為一個函式

    2.第二個引數為可迭代物件(可以有多個)

    3.返回值為Iterator(迭代器)

注意: 如果有多個可迭代物件,所有可迭代物件中元素的數量必須相等,如果不相等時,最元素  數 量最小的可迭代物件不再提供資料時,結束運算。

示例:

    def fn(x, y):
        return x+y
    re = list(map(fn,[x for x in range(10)],[y for y in range(20)]))
    print(re)
    執行結果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

2、filter()函式

 作用:對可迭代物件進行篩選
 語法:
  filter(func,Iterable)
 說明:
      1.第一個引數為一個函式
      2.第二個引數為一個可迭代物件
      3.返回值是一個迭代器
      4.該高階函式只有兩個引數

示例: 

 def fn(x):
     return x % 2==0
 re = list(filter(fn, [x for x in range(20)]))
 print(re)
 執行結果:[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]