📜  Python:使用Python Lambda 进行迭代

📅  最后修改于: 2022-05-13 01:54:19.123000             🧑  作者: Mango

Python:使用Python Lambda 进行迭代

在Python中,lambda函数是一个匿名函数。这一个表达式被评估并返回。因此,我们可以将 lambda 函数用作函数对象。在本文中,我们将学习如何在Python中使用 lambda 进行迭代。

语法

lambda variable : expression

在哪里,

  1. 表达式中使用了变量
  2. 表达式可以是数学表达式

示例 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]