python之內置高階函式

2021-09-24 03:28:49 字數 1627 閱讀 6737

把函式作為引數傳入,這樣的函式稱為高階函式,函式式程式設計就是指這種高度抽象

的程式設計正規化。

我們具體用兩個小案例來說明map

接收使用者輸入3個字串數字 ; 依次將接收的三個數轉換為整形

對於序列每個元素求絕對值;

nums = input("請輸入:").split()

int_nums=list(map(int,nums)) #將字串通過map函式轉換成int型

print(int_nums)

abs_nums=list(map(abs,int_nums))#將int型別中的負數通過map函式求絕對值

第乙個引數接受乙個函式名,後面的引數接受乙個或多個可迭代的序列,返回的是乙個結果。

利用reduce函式求階乘

result = reduce(lambda  x, y:x*y, range(1, 5))

print(result)

filter() 函式用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。

第乙個引數接受乙個函式名,後面的引數接受乙個或多個可迭代的序列,返回的是乙個序列。

同樣通過案例來理解函式:

獲取100以內能被3或者5整除的所有數;

獲取2000-2023年,所有的閏年;

獲取1000內容所有的素數;

# 1.

nums = filter(lambda num: num % 3 == 0 or num % 5 == 0, range(100))

print(list(nums))

# 2.

years= filter(lambda year: (year % 4 == 0 and year % 100 !=0) or year % 400 == 0, range(2000, 3000))

print(list(years))

# 3.

def is_prime(num):

"""判斷是否為素數"""

sort()和sorted()的具體區別是什麼呢?

排序物件不同: sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。

返回值不同:

list 的 sort 方法返回的是對已經存在的列表進行操作,無返回值,

內建函式 sorted 方法返回的是乙個新的 list,而不是在原來的基礎上進行的操作。

python之內置函式 高階函式 匿名函式

高階函式 遞迴實際就是乙個高階函式 建立乙個list列表,判斷列表裡的偶數 lst 1 2,3 4,5 6,7 8,9 10 def fn l 建立乙個新列表將我在l列表裡獲取的偶數存在新的列表 new list 通過for迴圈判斷去除偶數 for n in l if n 2 0 將偶數新增到new...

python之內置函式

非空即真,非0即真 記住這句話可以讓你少寫好多 l asdfgwert3r 1 sorted l 排序 字串可以直接使用sorted排序 2 all 如果list裡面都為真的情況返回為 true all 1 2,3 4 print true all 1 2,3 0 print false all 1...

python之內置函式

它將兩個 非複數 數字作為實參,並在執行整數除法時返回一對商和餘數。對於混合運算元型別,適用雙目算術運算子的規則。對於整數,結果和 a b,a b 一致,分別對應取整數和取餘數 對於浮點數,結果是 q,a b q 通常是 math.floor a b 但可能會比 1 小。如 將153拆解 a,b d...