php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)
本篇文章給大家帶來的內容是關于Python中lambda表達式的簡單介紹(附示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
一:匿名函數的定義
lambda parameter_list: expression
二:三元表達式
條件為真時返回的結果 if 條件判斷 else 條件為假的時候返回的結果
三:map
map(func(arg1, arg2...), list1_arg1, list2_arg2),對后面輸入的list分別執行前面的函數(數學的映射)
四:reduce
reduce(func(arg1, arg2...), list1_arg, init_value),連續計算,連續調用lambda表達式
五:filter
filter(func(arg1, arg2...), list1_arg1)當條件滿足的時候數據會被過濾出來!
六:函數式編程和命令式編程def
if --else
for
map reduce filter
lambda
函數式編程的思想。。。。
命令式編程的思想。。。。
函數式編程關心數據的映射,命令式編程關心解決問題的步驟
函數式編程:
(1)指的是函數與其他數據類型一樣,處于平等地位,可以賦值給其他變量,也可以作為參數,傳入另一個函數,或者作為別的函數的返回值。
(2) 只用"表達式",不用"語句"from functools import reduce
# ----------------------------------------------------------------#
# 匿名函數的定義
# ----------------------------------------------------------------#
def add(x, y):
"""
add x and y
:param x: x can be str or num
:param y: y can be str or num
:return: x+y
"""
return x + y
# lambda parameter_list: expression
user_sum = lambda arg1, arg2: arg1 + arg2
my_sum = user_sum(2, 2)
print(my_sum)
# ----------------------------------------------------------------#
# 三元表達式
# ----------------------------------------------------------------#
a, b = 1, 2
r = a if a > b else b
print(r)
# ----------------------------------------------------------------#
# map(func, list),對后面輸入的list分別執行前面的函數(數學的映射)
# ----------------------------------------------------------------#
myListMap1 = [1, 2, 3, 4]
myNewListMap1 = map(lambda x: x ** 2, myListMap1) # 返回為map類型的數據結構
print(type(myNewListMap1))
print('myNewListMap1:', list(myNewListMap1)) # 轉換為list
# 兩個或者多個參數的map函數的使用
# 當兩個參數種元素的個數不相同的時候會截斷
myListMap2 = [1, 2, 3, 4]
myNewListMap2 = map(lambda x, y: x + y, myListMap1, myListMap2)
print('myNewListMap2:', list(myNewListMap2))
# ----------------------------------------------------------------#
# reduce(func, list)連續計算,連續調用lambda表達式
# ----------------------------------------------------------------#
myListReduce = [1, 2, 3, 4]
# 把list中的值一個一個放進lambda中
r = reduce(lambda x, y: x + y, myListReduce)
print(r)
# 對第一個函數參數進行初始化
r = reduce(lambda x, y: x + y, myListReduce, 10)
print(r)
# filter
myListFilter = [3, 5, 6, 7, 8, 9, 10]
myNewListFilter = filter(lambda x: x % 2 == 1, myListFilter)
print('myNewListFilter:', list(myNewListFilter))
list_x = [1, 1, 0, 0]
filter_list = filter(lambda x: True if x == 1 else False, list_x)
print(list(filter_list))
總結
以上是生活随笔為你收集整理的php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚂蚁算法matlab
- 下一篇: php位运算重要吗,PHP位运算的用途