python中lambda函式以及map函式複習

2021-10-19 20:00:23 字數 1887 閱讀 4748

# 斷更很久了今天來複習下python中lambda函式的使用

def test(x):

return x*x

# 這裡我們用lambda定義乙個匿名的內聯函式。請注意,該函式沒有名稱。test 是儲存建立的lambda函式的變數的名稱

# 上面的函式和下面的lambda函式是一樣的

test_f = lambda x: x*x

print(test(3))

print(test_f(3))

# 常量函式

def constant():

return 1

constant_f = lambda: 1

print(constant())

print(constant_f())

# 多變數函式

def product(x, y):

return x*y

product_f = lambda x,y:x*y

print(product(3, 4))

print(product_f(3, 4))

# python map() 是乙個內建函式,它將給定的函式應用於迭代器iterable的每一項,並返回乙個迭代器iterator物件。

# 注意的是python2 map函式返回列表,python3 map函式返回迭代器。

# map用法 map(函式,序列) 返回迭代物件,遍歷出來即可用

def fun(x):

return x*x

result = map(fun, [1,2,3,4,5,6])

print(result)

# result 只是物件需要遍歷出來才能列印出具體的值

for i in result:

print(i)

nums = [1, 2, 3, 4, 5, 6]

res = map(lambda x: x*x, nums)

for i in res:

print(i)

# 當然lambada函式可以結合map()函式,輸入兩個引數,以下示例提供了兩個列表,對兩個列表中相同位置的資料進行相加

num1 = [1, 2, 3, 4, 5]

num2 = [6, 7, 8, 9, 10]

ret = map(lambda x, y: x+y, num1, num2)

for i in ret:

print(i)

# python lambda函式可以與filter()函式一起使用。 filte(函式,序列) 函式的作用是:從iterable中返回true的元素構造乙個列表。

# filte()函式為python自帶函式,主要用於過濾掉不符合設定條件的元素,並返回符合條件元素組成的迭代器iterable。

# 該函式有兩個輸入引數,第乙個引數為處理函式,第二個引數為要處理的序列。序列的每個元素作為引數給函式進行判斷,

# 返回true或 false,過濾到返回false的引數,並將返回 true 的元素放到迭代器中

def is_even(x):

return x % 2 == 0

result = filter(is_even, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print(result)

for i in result:

print(i)

# lambda函式結合filter函式過濾了整數列表。新列表僅包含奇數整數。

# filter()中第乙個函式為處理列表元素的函式,也就是lambda函式。

nums1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

nums_f = list(filter(lambda x: x % 2, nums1))

print(nums_f)

python中的lambda函式

lambda函式也叫匿名函式,即,函式沒有具體的名稱。先來看乙個最簡單例子 deff x returnx 2printf 4 python中使用lambda的話,寫成這樣 g lambdax x 2printg 4 lambda表示式在很多程式語言都有對應的實現。比如c varg x x 2cons...

python中的lambda函式

今天學習python裡面的高階函式map f list 的時候看見這樣一行 print map lambda x x 3,range 6 我已經知道 map函式的首個引數是乙個函式,後面的乙個或者多個list or tuple作為第乙個引數 也就是那個函式 的引數,以map的方式遍歷執行,並返回乙個...

Python中的lambda函式

python中的lambda函式 在python中,我們使用lambda關鍵字來宣告乙個匿名函式,這就是為什麼我們將它們稱為 lambda函式 匿名函式是指沒有宣告函式名稱的函式。儘管它們在語法上看起來不同,lambda函式的行為方式與使用def關鍵字宣告的一般函式相同。以下是python中 lam...