증가 값 및파이썬 매칭리스트 문자열 및 I 글로벌 하나를 두 개의리스트가
List1 = [[['MP01'], 0], [['MP02'], 0], [['MP03'], 0], [['MP04'], 0], [['MP05'], 0], [['MP06'], 0], [['MP07'], 0], [['MP08'], 0], [['MP09'], 0], [['MP10'], 0], [['MP11'], 0], [['MP12'], 0], [['MP13'], 0], [['MP14'], 0], [['MP15'], 0], [['MP16'], 0], [['MP17'], 0], [['MP18'], 0], [['MP19'], 0], [['MP20'], 0], [['MP21'], 0], [['MP22'], 0], [['MP23'], 0], [['MP24'], 0], [['MP25'], 0], [['MP26'], 0], [['MP27'], 0], [['MP28'], 0], [['MP29'], 0], [['MP30'], 0], [['MP31'], 0], [['MP32'], 0]]
function():
List2 = [['MP18', 100], ['MP28', 50], ['MP20', 30], ['MP07', 30], ['MP12', 10], ['MP03', 10], ['MP30', 10], ['MP14', 10], ['MP15', 5], ['MP16', 5], ['MP13', 5], ['MP02', 5], ['MP26', 5], ['MP23', 5], ['MP22 ', 5], ['MP01', 5]]
final_list = [[[a], b+dict(List2).get(a, 0)] for [a], b in List1]
기본적 함수에서 로컬 하나는 "목록 2"는 플레이어의 라운드에서 달성 한 점수를 나타낸다 게임 (MP18은 100, MP28은 50 등)과 "List1"은 각 플레이어의 게임 라운드의 점수를 누적하는 데 사용됩니다.
필자가 원하는 것은 본질적으로 "List1"에 각 플레이어 점수를 추가하는 것이고 "final_list"는 함수 내에 있기 때문에 함수가 호출 될 때마다 " List2 ","List1 "에 새 값을 추가하면 단순히 덮어 씁니다. 예를 들어, 첫 번째 라운드 후 "List1입니다"는 "목록 2"에서 플레이어 업데이트 된 값을 갖게됩니다
['MP18', 100], ['MP28', 50] etc
그래서 MP18는 100 포인트가되며, MP28은의를 통해 두 번째 실행에, 그러나 50 등이있을 것이다 프로그램 (두 번째 라운드) "목록 2"는 예를 들면 각 플레이어에 대해 다른 값을 가질 것이다 :
[['MP18, 50], [MP28, 100] etc
그러나 "final_list"이 함수로부터 생성되고 있기 때문에, 점수의 제 1 세트가 덮어 쓰기되고
2 번째 대신에 2 번째가 의미가있는 경우 첫 번째에 추가됩니까?[[MP28, 100], [MP18, 50]
으로는 원하는 결과에 반대 : 같은 "List1입니다"를 통해 두 번째 실행에 보이는 것
[[MP28, 150], [MP18, 150]]
희망이 도움이되는 설명을 좀 더입니다 : D
: 최근 코멘트에 대해서는
, 당신은 함수의
final_list
외부를 만들려면이 시도 할 수 있습니다 [슬로우 Python의 "내부 조인"목록의 코드] (https://stackoverflow.com/questions/47267727/slow-code-in-inner-joins-lists-in-python). 'List2'를 dict로 만들고 O (1)에서'List1'을 업데이트하여 dict에서''MP ''값을 찾습니다. –안녕하세요. 불행히도 이것은 토론 포럼이나 튜토리얼이 아닙니다. 시간을내어 [ask]와 그 페이지의 다른 링크를 읽으십시오. [실제 누군가가 도와 줄 수 있습니까?] 실제 질문이 아닙니다. (https://meta.stackoverflow.com/q/284236/2823755) – wwii