2017-11-20 2 views
0

같은 인덱스로 목록의 목록을 가입하는 내가 사용에 합류하고이 현재 목록의 마지막에 값을 넣습니다나는 목록이 개 목록이

list1 = [[],["1","3","4"],["0"],["1","2","5","4"]] 
list2 = [["1","2","3"],["8","7","6"],[],["9","8","6","4"]] 

for (v, c) in zip(list1, list2): 
    joined_list =sorted(set(v + c)) 

, 나는 그것이 같은 색인에 가고 싶어 그들이 현재이 일을하는 가장 좋은 방법은 무엇인가?

편집 : 그들은 문자열 것으로, 코드가 여기 https://github.com/ishikawa-rei/EPRO-CALC/blob/master/massaging.py 의 첫 번째 함수이며, 당신은 모든 루프 반복에서 joined_list을 reassinging 두 개의 목록

+0

입력, 출력 및 출력이 예상의 일례를 추가하세요. – alfasin

+2

루프에서'return'을하고 있습니까? 그것은 첫 번째 결과를 반환합니다. –

+0

루프는 각'v, c '쌍에 대해'joined_list'를 설정하고 있으므로 마지막 쌍을 제외한 모든 것을 버립니다. 이 코드가 실제로 실행중인 코드입니까? –

답변

0

의 입력을 취득하는 잊어 버렸습니다. 당신이 반복 같이 루프 전에 목록을 정의하고 항목을 수집해야합니다 :

joined_list = [] 
for v, c in zip(list1, list2): 
    joined_list.append(sorted(set(v + c))) 

을 또는 당신이 사용할 수있는 list comprehension :

joined_list = [sorted(set(v + c)) for v, c in zip(list1, list2)] 
+0

이것은 또한 모든 것을 목록에 포함 된 색인이 아닌 목록의 끝에 넣습니다. zip (list1, list2)을 수행 할 때 잘못된 색인에 값을 넣습니다. – dmnte

+0

입력에 필요한 출력은 무엇입니까? – schwobaseggl

+0

나는 17 번째 목록의 list1에있는 값을 new_list [17]의 새 목록에 추가하려고합니다. 내가 가지고있는 데이터는 여기에 붙여 넣기에 충분하지만 여기에서 볼 수 있습니다. https://github.com/ishikawa-rei/EPRO-CALC/blob/master/main.py – dmnte

0

대신 방법을 추가 사용한다.

joined_list = [] 
for (v, c) in zip(list1, list2): 
    joined.append(sorted(set(v+c))) 

print(joined) 

출력은 다음

[[1, 2, 3], [1, 3, 4, 6, 7, 8], [0], [1, 2, 4, 5, 6, 8, 9]] 
+0

나는 이것을 시도하고 그것은 목록의 끝에 모든 것을두고, 또한 질문에서 실수로 문자열이 아닌 – dmnte

+0

예상되는 입력과 출력으로 질문을 업데이트 할 수 있습니까? –