如何在不使用for循环的情况下增加python中列表中的值?

时间:2015-02-23 13:03:12

标签: python list

Python中的

如何在不必编写for循环的情况下递增列表中的值,例如:

group  = [0]*3
item   = [1,2,3]
group += item
print group

获取group = [1,2,3]而不是group = [0,0,0,1,2,3]

2 个答案:

答案 0 :(得分:2)

你可以使用numpy模块。这不需要for循环。

>>> import numpy as np
>>> group  = np.array([0]*3)
>>> item   = np.array([1,2,3])
>>> group += item
>>> group
array([1, 2, 3])
>>> list(group)
[1, 2, 3]

答案 1 :(得分:1)

您可以在列表推导中使用zip进行逐元素操作(在本例中为“添加”)。

>>> group = [0]*3
>>> item   = [1,2,3]
>>> group = [i + j for i,j in zip(group, item)]
>>> group
[1, 2, 3]

如果group没有全部为零,并且您想要使用一些新值添加当前值,则这是一般解决方案。