Python-map、filter、reduce方法

介紹函數

  1.map()函數,會讓列表中每個元素都執行一某個函數(傳遞1個參數),
而且將執行函數返回的結果(不管是什麼結果)放在結果列表中
  2.filter()函數,會讓列表中的每個元素都執行一次某個函數(傳遞1
個參數),而且將執行函數返回爲真或不爲None的結果放在結果列表中
  3.reduce()函數,會將列表中的每兩個元素執行一次函數(傳遞2個參數),
而且能夠將前兩個元素計算的結果拿過來,繼續喝列表中的第三個元素計算,計算
完成後繼續和第四個計算。。。最後返回的就是計算後的結果spa

 

mapcode

例如:獲取一個列表中的奇數blog

# map:拿到的是return結果列表
def
is_odd(n): return n % 2 == 1 # map:拿到的是return結果列表 odd_res=map(is_odd,[1,2,3,4,5,6]) print(list(odd_res)) #[True, False, True, False, True, False]

 

filterip

例如:獲取一個列表中的奇數字符串

#filter:把傳入的函數依次做用於每一個元素,根據結果True仍是False決定保留仍是丟棄該元素
def is_odd(n):
    return n % 2 == 1
        
odd_res=filter(is_odd,[1,2,3,4,5,6])
print(list(odd_res)) #[1, 3, 5]

應用1:刪除列表中空字符串class

#應用:把列表中的空字符串刪掉
def not_empty(s):
    return s and s.strip()  #s.strip()篩出不知足條件的

res=filter(not_empty, ['A', '', 'B', None, 'C', '  '])
print(list(res)) #['A', 'B', 'C']

 

reducemap

相關文章
相關標籤/搜索