2012-10-28 4 views
0

가능한 중복 :
Merging/adding lists in Python추가 값

nested_list= [[1, 3, 5], [3, 4, 5]] 
sum_of_items_in_nested_list = [4, 7, 10] 

나는 각각의 해당 인덱스에 항목을 추가 할 것이다 루프 중첩을 만들려고하고 있고 동일한 색인의 다른 중첩 된 목록에 추가하십시오. 위의 내용은 nested_list[0][0] + nested_list[1][0], nested_list[0][1] + nested_list[1][1] 등을 추가합니다. 내가 가져 오기 및 모듈없이 이것을하고 싶습니다. 이것은 아마도 그렇게 쉽습니다. 그러나 나는 그것으로 시간의 악마를 가지고 있습니다.

+3

[무엇을 시도해 봤습니까?] (http://whathaveyoutried.com) –

답변

4

사용 zip() :

In [44]: nested_list= [[1, 3, 5], [3, 4, 5]] 

In [45]: [sum(x) for x in zip(*nested_list)] 
Out[45]: [4, 7, 10] 

다른 방법으로 사용하여 중첩 루프 :

In [6]: nested_list= [[1, 3, 5], [3, 4, 5]] 

In [7]: minn=min(map(len,nested_list)) #fetch the length of shorted list 

In [8]: [sum(x[i] for x in nested_list) for i in range(minn)] 
Out[8]: [4, 7, 10] 
+0

중첩 for 루프를 사용하면 어떻게합니까? 이 작업을 수행하는 방법을 이해하려고 노력 중이며 "가져 오는 중"이 아닙니다. – spitfiredd

+0

@ user1761521 for 중첩 for 루프는 필요하지 않습니다. –

+0

@ user1761521 중첩 루프를 사용하여이 작업을 수행하는 다른 방법을 추가했습니다. –

0
당신은 또한이 솔루션에 대해 생각

:

map(int.__add__,*nested_list) 

더 나은 스타일 :

from operator import add 
map(add,*nested_list) 
0

다음은 귀하의 경우에 대한 답변이며 len()을 사용하여 목록 길이를 변경할 수 있습니다.

nested_list= [[1, 3, 5], [3, 4, 5]] 

sum_of_items_in_nested_list=[] 
for j in range(0,3,1): 
    result=0 
    for i in range(0,2,1): 
     result=result+nested_list[i][j] 
     sum_of_items_in_nested_list = sum_of_items_in_nested_list + [result]