繁体   English   中英

如何为列表中的每个元素添加一个值?

[英]How to add a value to every element inside a list?

value = int(input("Enter the value"))
my_list = [1,2,3,4,5]

如果输入值为 5,我想将 5 添加到 my_list 中期望结果应为[6,7,8,9,10]每个元素。

这很简单:

value = int(input("Enter the value"))
my_list = [1,2,3,4,5]
new_list = [x+value for x in my_list]

这基本上通过迭代旧列表的元素并向它们添加value来创建一个新列表。

这种方法称为“列表理解”。 它允许您以简洁的方式创建新列表。 常见的应用是创建新列表,其中每个元素都是应用于另一个列表的每个成员的某些操作的结果,或者创建满足特定条件的那些元素的子序列。 您可以在此处阅读更多相关信息。

有几种方式:

value = int(input("Enter the value"))
my_list = [1, 2, 3, 4, 5]

# Using map()
new_list = list(map(lambda list_value: list_value + value, my_list))

# Using list comprehension
new_list = [list_value + value for list_value in my_list]

或者,如果您使用的是numpy

import numpy as np

value = int(input("Enter the value"))

my_list = np.asarray([1, 2, 3, 4, 5]) + value

你可以使用一个简单的for循环:

for i, e in enumerate(my_list):
    my_list[i] = value + e
print(my_list)

输出(对于输入 5):

[6, 7, 8, 9, 10]

或者您可以使用内置函数: mapsumzip

list(map(sum, zip(my_list, [value]*len(my_list))))

或者你可以使用itertools.cycle

from itertools import cycle

list(map(sum, zip(my_list, cycle([value]))))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM