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