2013-08-15 4 views
0

, так что это немного меня озадачило. Я чувствую, что это должна быть легкая проблема. Допустим, у меня есть эти два спискаПодведение итогов двух двумерных списков

a = [[3, 4], [4, 5]] 
b = [[1, 2], [4, 6]] 

Я пытаюсь так что бы вернуть сумму двух 2-D списки каждого соответствующего элемента, как так

c = [[4, 6], [8, 11]] 

Я довольно уверен, что я теряясь в петлях. Я только пытаюсь использовать вложенные циклы, чтобы дать ответ, любые предложения? Я пытаюсь несколько разных вещей, чтобы мой код не был полностью завершен или установлен в камне и, вероятно, изменится к тому моменту, когда кто-то ответит, поэтому я не оставлю код здесь. Я пытаюсь, хотя!

+0

Гарантировано, что каждый список списков будет иметь одинаковое количество элементов и что каждый список по данному индексу в списке списков будет иметь одинаковое количество элементов? –

+0

@JamesRobinson Robison да, это так. У меня есть условное выражение перед проверкой того, равны ли длины списка и возвращает False, если они не являются –

ответ

0

Использования NumPy:

import numpy as np 

a = [[3, 4], [4, 5]] 
b = [[1, 2], [4, 6]] 
c = np.array((a,b)) 
np.sum(c, axis=0) 
1

Вы можете попробовать некоторые вариации на вложенные для петель с помощью перечисления (который даст вам соответствующие показатели для сравнения с каким-либо другим 2d массива):

a = [[3, 4], [4, 5]] 
b = [[1, 2], [4, 6]] 

Редактировать: я не видел, чтобы вы хотели заполнить новый список, поэтому я разместил его там:

>>> c = [] 
>>> for val, item in enumerate(a): 
     newvals = [] 
     for itemval, insideitem in enumerate(item): 
      newvals.append(insideitem + b[val][itemval]) 
     c.append(newvals) 
     newvals = [] 

Результат:

>>> c 
[[4, 6], [8, 11]] 
+0

жаль, что мне понадобилось немного времени, чтобы понять ваш код, я получаю его сейчас. Спасибо! –

+0

Добро пожаловать. Если это сработало и решило проблему, общая практика состоит в том, чтобы принять ответ. Это знак вопроса, который был разрешен для будущих посетителей. – erewok

Смежные вопросы