📜  将函数应用于列表的每个元素 – Python

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

将函数应用于列表的每个元素 – Python

在本文中,我们将学习如何将函数应用于Python列表的每个元素。让我们看看将函数应用于列表的每个元素到底是什么意思:

假设我们有一个整数列表和一个将该列表中的每个整数加倍的函数。在将该函数应用于列表时,该函数应该将列表中的所有整数加倍。我们通过以下方式实现此功能:

  1. 地图()方法。
  2. 使用列表理解。
  3. 拉姆达函数

使用 map() 方法

map() 方法接受两个参数:iterables 和函数并返回一个 map 对象。我们使用 list() 将地图对象转换为列表。

程序:

Python3
def double(integer):
    return integer*2
  
  
# driver code
integer_list = [1, 2, 3]
  
# Map method returns a map object
# so we cast it into list using list()
output_list = list(map(double, integer_list))
  
print(output_list)


Python3
def double(integer):
    return integer*2
  
  
# driver code
integer_list = [1, 2, 3]
  
# Calling double method on each integer
# in list using list comprehension.
output_list = [double(i) for i in integer_list]
  
print(output_list)


Python3
lst = [1, 2, 3]
  
ans = []
  
for x in lst:
    def res(x): return x*2
    ans.append(res(x))
  
print(ans)


输出:

[2, 4, 6]

时间复杂度: O(n)*(O函数在列表上应用的复杂度)

使用列表推导式

我们使用列表推导式在列表的每个元素上调用一个函数,然后在这种情况下将其加倍。

程序:

蟒蛇3

def double(integer):
    return integer*2
  
  
# driver code
integer_list = [1, 2, 3]
  
# Calling double method on each integer
# in list using list comprehension.
output_list = [double(i) for i in integer_list]
  
print(output_list)

输出:

[2, 4, 6]

时间复杂度: O(n)*(O函数在列表上应用的复杂度)

使用 Lambda函数

也可以使用 lambda函数来产生上述功能。 Lambda 能够创建一个匿名函数,该函数足以满足给定的要求。

程序:

蟒蛇3

lst = [1, 2, 3]
  
ans = []
  
for x in lst:
    def res(x): return x*2
    ans.append(res(x))
  
print(ans)

输出:

[2, 4, 6]