Je suis assez sûr il devrait y avoir une plus Pythonic façon de le faire - mais je ne peux pas penser une seule: Comment puis-je les fusionner en deux dimensions, la liste dans un one-dimensional liste? Une sorte de zip/map mais avec plus de deux itérateurs.
Par exemple, j'ai la liste suivante:
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Je veux avoir
result = [12, 15, 18] # [1+4+7, 2+5+8, 3+6+9]
Pour l'instant ce que j'ai trouvé est:
def add_list(array):
number_items = len(array[0])
result = [0] * number_items
for index in range(number_items):
for line in array:
result[index] += line[index]
return result
Mais qui n'a pas l'air très élégant/Pythonic pour moi. Côté de ne pas avoir vérifié si toutes les "lignes" dans le tableau 2D sont de la même longueur, peuvent être ajoutés les uns aux autres, etc. Quelle serait une meilleure façon de le faire?