168 votes

Ajouter la SOMME des valeurs de deux LISTE dans une nouvelle LISTE

J'ai les deux listes suivantes :

first = [1,2,3,4,5]
second = [6,7,8,9,10]

Je veux maintenant ajouter les éléments de ces deux listes dans une nouvelle liste.

La sortie devrait être

third = [7,9,11,13,15]

267voto

tom Points 5216

El zip est utile ici, utilisée avec une compréhension de liste.

[x + y for x, y in zip(first, second)]

Si vous avez une liste de listes (au lieu de deux listes seulement) :

lists_of_lists = [[1, 2, 3], [4, 5, 6]]
[sum(x) for x in zip(*lists_of_lists)]
# -> [5, 7, 9]

52voto

bubuzzz Points 2554

De docs

import operator
list(map(operator.add, first,second))

46voto

user3582790 Points 569

Comportement par défaut dans numpy.add ( numpy.subtract etc.) se fait par éléments :

import numpy as np
np.add(first, second)

qui produit

array([7,9,11,13,15])

33voto

math Points 2127

En supposant que les deux listes a y b ont la même longueur, vous n'avez pas besoin de zip, numpy ou autre.

Python 2.x et 3.x :

[a[i]+b[i] for i in range(len(a))]

12voto

Essayez le code suivant :

first = [1, 2, 3, 4]
second = [2, 3, 4, 5]
third = map(sum, zip(first, second))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X