如何为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中的每个元素添加一个数字? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

PySpark:如何为数组列中的每个元素添加值?

如何为javascript数组中的每个对象动态添加属性

python数据结构-如何为元组中的每个元素命名

如何为每个复选标记保存复选框并增加整数?

如何为列表中的每个项目添加一个布尔值?

hive - 如何为每个匹配选择前 N 个元素