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