Ich bin mir ziemlich sicher, dass es einen pythonischeren Weg geben sollte, dies zu tun - aber mir fällt keiner ein: Wie kann ich eine zweidimensionale Liste in eine eindimensionale Liste zusammenführen? So ähnlich wie zip/map, aber mit mehr als zwei Iteratoren.
Beispiel: Ich habe die folgende Liste:
array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Ich möchte
result = [12, 15, 18] # [1+4+7, 2+5+8, 3+6+9]
Bis jetzt habe ich Folgendes herausgefunden:
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
Aber das sieht für mich nicht sehr elegant/pythonisch aus. Abgesehen davon, dass nicht geprüft wird, ob alle "Linien" im 2D-Array gleich lang sind, aneinandergefügt werden können usw. Was wäre ein besserer Weg, dies zu tun?