Disons que j'ai 2 listes suivantes:Python: 2 rejoindre les listes de la même taille
list1 = [1,1,1,1] liste2 = [3,3,3,3]
Je veux le résultat de join soit:
liste3 [4,4,4,4]
Quoi serait la meilleure façon de le faire?
Disons que j'ai 2 listes suivantes:Python: 2 rejoindre les listes de la même taille
list1 = [1,1,1,1] liste2 = [3,3,3,3]
Je veux le résultat de join soit:
liste3 [4,4,4,4]
Quoi serait la meilleure façon de le faire?
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.
list3 = [x + y for (x, y) in itertools.izip(list1, list2)]
ou
list3 = map(operator.add, list1, list2)
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
fonctionne très bien, merci à tous –