摘要:接受個參數,一個函數,一個,返回強轉由于是惰性序列轉字符串多參數映射當多個列表元素個數不同時,以最小個數的為基準把一個函數作用在一個序列上設置為初始值這個函數必須接收兩個參數,把結果繼續和序列的下一個元素做累積計算把序列變成整數用于過濾序列
map
map()接受2個參數,一個函數 , 一個Iterable,返回Iterator
def f(x): return x*x r = map(f, [1, 2, 3, 4 ,5]) print(list(r)) # 強轉 由于Iterator是惰性序列 list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])) # 轉字符串
多參數映射:當多個列表元素個數不同時,以最小個數的為基準
list1 = [1, 2, 3, 4] list2 = [1, 2, 3, 4] list3 = [1, 2, 3, 4] list4 = [1, 2, 3, 4] def addList(x, y, z, k): return x + y + z + k print(list(map(addList, list1,list2,list3,list4)))reduce
把一個函數作用在一個序列[x1, x2, x3, ...]上
reduce(func, iter [,initail]) initail設置為初始值
這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素做累積計算
# 把序列變成整數13579 from functools import reduce def fn(x,y): return x*10 + y print(reduce(fn, [1, 3, 5, 7, 9]))filter
用于過濾序列 然后根據返回值是True還是False決定保留還是丟棄該元素
def is_odd(n): # 刪除偶數 return n%2 ==1 print(list(filter(is_odd, [1, 2, 4, 5, 7, 10, 15]))) # 返回都是是迭代器 # 把序列中的空字符串去掉 def not_empty(s): return s and s.strip() print(list(filter(not_empty, ["A", "", "B ", None, "C", " "]))) # 求素數 #計算素數的一個方法是埃氏篩法 def _odd_iter(): # 構成一個從3開始的奇數序列 n =1 # 注意這是一個生成器,并且是一個無限序列 while True: n = n + 2 yield n def _not_divisible(n): # 篩選函數 return lambda x:x%n > 0 #獲得對n取余不為0的序列(比如刪除所有是2倍數的數字) def primes(): # 定義一個生成器,不斷返回下一個素數 yield 2 it = _odd_iter() # 初始化序列 while True: n = next(it) yield n it = filter(_not_divisible(n), it) for n in primes(): if n < 1000: print(n) else: breaksorted
返回一個列表,如果對字典sorted,返回一個列表,列表中的元組存放鍵值對
print(sorted([-36, 5, -12, 9])) print(sorted([-36, 5, -12, 9], key=abs)) # 按絕對值排序 print(sorted(["bob", "about", "Zoo", "Credit"], key=str.lower)) # reverse=True L = [("Bob", 75), ("Adam", 92), ("Bart", 66), ("Lisa", 88)] print(sorted(L, key=lambda t:t[1])) # 按成績排 # 字典按鍵排序 sorted(dict1.items(), key = lambda x:x[0]) # 字典按值排序 sorted(dict1.items(), key = lambda x:x[1]) # a = [{"年齡":12, "姓名":"7劉"},{"年齡":11, "姓名":"7劉"},{"年齡":18, "姓名":"6劉"},{"年齡":7, "姓名":"劉"}] # 字典沒有.sort方法 而列表可以用 a.sort(key=lambda x:x["年齡"])
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41575.html
摘要:引言本期開始介紹中的高階函數,在中,函數是一種特殊類型的對象,它們是。簡單來說,高階函數是一個接收函數作為參數傳遞或者將函數作為返回值輸出的函數。我們來看看使用它們與不使用高階函數的方案對比。引言 本期開始介紹 JavaScript 中的高階函數,在 JavaScript 中,函數是一種特殊類型的對象,它們是 Function objects。那什么是高階函數呢?本節將通過高階函數的定義來展...
摘要:函數作為參數情況,,和是中內置的高階函數。知道了到底啊什么是高階函數,有哪些類型的高階函數。公眾號技術棧路線大家好,我是,公眾號程序員成長指北作者,這篇文章是必知必會系列的高階函數講解。 前言 一道經典面試題: //JS實現一個無限累加的add函數 add(1) //1 add(1)(2) //3 add(1)(2)(3) //6 當大家看到這個面試題的時候,能否在第一時間想到...
摘要:在項目中用好高階組件,可以顯著提高代碼質量。高階組件的定義類比于高階函數的定義。高階函數接收函數作為參數,并且返回值也是一個函數。 React 深入系列,深入講解了React中的重點概念、特性和模式等,旨在幫助大家加深對React的理解,以及在項目中更加靈活地使用React。 1. 基本概念 高階組件是React 中一個很重要且比較復雜的概念,高階組件在很多第三方庫(如Redux)中都...
摘要:對函數式編程提供部分支持。對于純函數編程,對任一函數,只要輸入是確定的,輸出就是確定的,可稱之為無副作用。二函數式編程的內建函數語法,接收兩個參數,一個是函數,一個是可迭代對象。 Functional Programming,函數式編程。Python對函數式編程提供部分支持。對于純函數編程,對任一函數,只要輸入是確定的,輸出就是確定的,可稱之為無副作用。 一、高階函數 1、變量指...
摘要:本文是學習廖雪峰官網網站教程后總結的,供日后參考用高階函數一個函數將另一個函數作為參數,稱為高階函數。 本文是學習廖雪峰官網網站python教程后總結的,供日后參考用1.高階函數一個函數將另一個函數作為參數,稱為高階函數。當然也可以將一個函數作為結果返回 示例1:將函數作為參數 def add(x,y,f): return f(x)+f(y) result = add(-3,2...
摘要:因為這個高階函數,賦予了普通組件一種呼吸閃爍的能力記住這句話,圈起來重點考。其實,高階組件就是把一些通用的處理邏輯封裝在一個高階函數中,然后返回一個擁有這些邏輯的組件給你。 原文地址:https://github.com/SmallStoneSK/Blog/issues/6 1. 前言 老畢曾經有過一句名言,叫作國慶七天樂,Coding最快樂~。所以在這漫漫七天長假,手癢了怎么辦?于是...
閱讀 591·2021-11-22 14:45
閱讀 3083·2021-10-15 09:41
閱讀 1579·2021-10-11 10:58
閱讀 2806·2021-09-04 16:45
閱讀 2617·2021-09-03 10:45
閱讀 3247·2019-08-30 15:53
閱讀 1231·2019-08-29 12:28
閱讀 2143·2019-08-29 12:14