如何为python中的每个元素添加一个数字? [复制]
Posted
技术标签:
【中文标题】如何为python中的每个元素添加一个数字? [复制]【英文标题】:How do I add a number to every single element in python? [duplicate] 【发布时间】:2021-01-05 23:52:53 【问题描述】:如何在元素中添加数字?
假设我想为数组中的每个元素添加 10
我希望我的输入是 [1,2,3,4,5] 我的输出是 [11,12,13,14,15]
这是我目前的想法
def func(z):
numbers = [1, 2, 3, 4,5]
num = 10
for i in z:
numbers.append(i + num)
i = numbers[-2:]
return i
这会打印 5,20 而不是 14 和 15。
【问题讨论】:
什么是z
?您还在第一次迭代中从循环返回......简单的numbers = [n+10 for n in numbers]
就足够了
更好的副本:How to add an integer to each element in a list?
【参考方案1】:
使用list comprehension 是获得所需答案的快速、紧凑的方式。它是您学习编写更好的 Python 的有用工具。
number_list = [1, 2, 3, 4, 5]
def add_num_to_each(num, number_list)
return [ii + num for ii in number_list]
print(add_num_to_each(10, number_list))
>>> [11, 12, 13, 14, 15]
【讨论】:
【参考方案2】:你可以用地图在一行中完成,
output_list = list(map(lambda x: x + 10, numbers))
这里的“数字”是您的输入列表。
【讨论】:
【参考方案3】:numbers = [1, 2, 3, 4,5]
result = [item+10 for item in numbers]
【讨论】:
【参考方案4】:import numpy as np
arr = np.array([1,2,3,4,5])
print(arr+10)
使用numpy
库是明智的选择,因为与循环迭代相比,它减少了进行向量计算所需的时间。
【讨论】:
【参考方案5】:您可以使用地图。
def addTen(n):
return n+10
numbers = [1, 2, 3, 4, 5]
result = map(addTen, numbers)
print(list(result))
https://www.geeksforgeeks.org/python-map-function/
【讨论】:
以上是关于如何为python中的每个元素添加一个数字? [复制]的主要内容,如果未能解决你的问题,请参考以下文章