2017-11-24 16 views
0

은 내가 다음 목록이 있습니다목록 목록에서 중복과 관련된 모든 값을 함께 합산하는 방법은 무엇입니까?

x = [['A', 300], ['C', 200], ['B', 1500], ['A', 1000], ['C', 1000]] 

가 지금은 형식이 유사하다있는 새 목록을 생성 할을하지만,리스트 목록에서 중복 된 문자열의 모든 정수가 합산된다. 원하는 결과는 다음과 같습니다.

x2 = [['A', 1300], ['B', 1500], ['C', 1200]] 

어떻게이 작업을 수행 할 수 있습니까?

+0

당신은 무엇을 시도 했습니까? –

답변

1

최종 결과가 사전과 같으므로 사전을 사용하여 결과를 만들 수 있습니다.

import collections 

x = [['A', 300], ['C', 200], ['B', 1500], ['A', 1000], ['C', 1000]] 

d = collections.defaultdict(int) 
for k, v in x: 
    d[k] += v 

x2 = d.items() 
# Or list(d.items()) if you really need a list 
# And list(map(list, d.items())) if you need a list of 
# lists, and not a list of tuples.