2011-06-01 12 views

Répondre

11

très similaire à la réponse de Ignacio, mais pour un tout petit peu plus brièveté:

list3 = [sum(i) for i in zip(list1, list2)] 

ou

list3 = map(sum, zip(list1, list2)) 

Je préfère la version de la carte moi-même .

Edit: Comme JBernardo souligne à juste titre, si vous utilisez Python 2.x vous devez remplacer zip avec son homologue iterator en itertools.izip pour l'efficacité, mais zip utilise itérateurs par défaut dans Python 3.

+1

bien sûr zip est le bon choix pour Python3. Pour 2.x vous devriez préférer izip d'itertools. BTW, votre solution est plus propre que celle d'Ignacio. – JBernardo

+0

fonctionne très bien, merci à tous –

9
list3 = [x + y for (x, y) in itertools.izip(list1, list2)] 

ou

list3 = map(operator.add, list1, list2)