假设我有以下两个列表:
list1 = [1,1,1,1] list2 = [3,3,3,3]
我希望join的结果是:
list3 [4,4,4,4]
什么是最好的方法呢?
act*_*imp 11
与Ignacio的答案非常相似,但更简洁:
list3 = [sum(i) for i in zip(list1, list2)]
Run Code Online (Sandbox Code Playgroud)
要么
list3 = map(sum, zip(list1, list2))
Run Code Online (Sandbox Code Playgroud)
我自己更喜欢地图版本.
编辑:正如JBernardo正确指出的那样,如果使用Python 2.x,你应该用itertools.izip中的迭代器替换zip以提高效率,但zip在Python 3中默认使用迭代器.
list3 = [x + y for (x, y) in itertools.izip(list1, list2)]
Run Code Online (Sandbox Code Playgroud)
要么
list3 = map(operator.add, list1, list2)
Run Code Online (Sandbox Code Playgroud)