【问题标题】:How do I add a number to every single element in python? [duplicate]如何为python中的每个元素添加一个数字? [复制]
【发布时间】: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。

【问题讨论】:

标签: python arrays function for-loop


【解决方案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/

          【讨论】:

            猜你喜欢
            • 2018-07-26
            • 1970-01-01
            • 1970-01-01
            • 2017-06-17
            • 1970-01-01
            • 1970-01-01
            • 2021-11-23
            • 1970-01-01
            • 2011-09-12
            相关资源
            最近更新 更多