将函数应用于列表的每个元素 – Python
在本文中,我们将学习如何将函数应用于Python列表的每个元素。让我们看看将函数应用于列表的每个元素到底是什么意思:
假设我们有一个整数列表和一个将该列表中的每个整数加倍的函数。在将该函数应用于列表时,该函数应该将列表中的所有整数加倍。我们通过以下方式实现此功能:
- 地图()方法。
- 使用列表理解。
- 拉姆达函数
使用 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]