# 斷更很久了今天來複習下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...