Python:使用Python Lambda 进行迭代
在Python中,lambda函数是一个匿名函数。这一个表达式被评估并返回。因此,我们可以将 lambda 函数用作函数对象。在本文中,我们将学习如何在Python中使用 lambda 进行迭代。
语法:
lambda variable : expression
在哪里,
- 表达式中使用了变量
- 表达式可以是数学表达式
示例 1:
在下面的代码中,我们使用 for 循环遍历数字列表并找到每个数字的平方并将其保存在列表中。然后,打印一个平方数列表。
Python3
# Iterating With Python Lambdas
# list of numbers
l1 = [4, 2, 13, 21, 5]
l2 = []
# run for loop to iterate over list
for i in l1:
# lambda function to make square
# of number
temp=lambda i:i**2
# save in list2
l2.append(temp(i))
# print list
print(l2)
Python3
# Iterating With Python Lambdas
# list of numbers
l1 = [4, 2, 13, 21, 5]
# list of square of numbers
# lambda function is used to iterate
# over list l1
l2 = list(map(lambda v: v ** 2, l1))
# print list
print(l2)
Python3
# Iterating With Python Lambdas
# list of numbers
l1 = [4, 2, 13, 21, 5]
# list of square of odd numbers
# lambda function is used to iterate over list l1
# filter is used to find odd numbers
l2 = list(map(lambda v: v ** 2, filter(lambda u: u % 2, l1)))
# print list
print(l2)
输出:
[16, 4, 169, 441, 25]
示例 2:
我们首先使用 lambda 遍历列表,然后找到每个数字的平方。这里的 map函数用于迭代列表 1。它在一次迭代中传递每个数字。然后我们使用 list函数将它保存到一个列表中。
Python3
# Iterating With Python Lambdas
# list of numbers
l1 = [4, 2, 13, 21, 5]
# list of square of numbers
# lambda function is used to iterate
# over list l1
l2 = list(map(lambda v: v ** 2, l1))
# print list
print(l2)
输出:
[16, 4, 169, 441, 25]
示例 3:
在下面的代码中,我们使用了 map、filter 和 lambda 函数。我们首先使用过滤器和 lambda 函数从列表中找到奇数。然后,我们使用 map 和 lambda 函数对其进行平方,就像我们在示例 2 中所做的那样。
Python3
# Iterating With Python Lambdas
# list of numbers
l1 = [4, 2, 13, 21, 5]
# list of square of odd numbers
# lambda function is used to iterate over list l1
# filter is used to find odd numbers
l2 = list(map(lambda v: v ** 2, filter(lambda u: u % 2, l1)))
# print list
print(l2)
输出:
[169, 441, 25]