2017-03-20 4 views
1

내가 파이썬 3for 루프 문에 몇 가지 문제가 있습니까?

for i in range(len(basic_elements)): 
    value_list = [basic_elements[i], x_count[i]] 

basic_element을 사용하고하는 것은 단어의 목록이며, x_count 숫자의 목록입니다. value_list에 두 목록의 50 개 요소를 모두 합치고 싶습니다. 그러나 나는 마지막 요소 만 얻고있었습니다. 이해가 안됩니까?!

+1

그러면 '.append'로 목록을 만들어야합니다. 여기에서는'value_list'를 매번 새로운 2 원소 목록으로 대체하고 있습니다. –

+6

하지만 기본적으로이 작업은 'value_list = list (zip (basic_elements, x_count))'를 사용하여 수행 할 수 있습니다. –

+0

zip을 사용하여 두 목록을 병합하십시오. http://stackoverflow.com/questions/1663807/how-can-iterate- through-two-lists-in-python – Rob

답변

0

루프 내에서 목록 할당을하면 루프가 실행될 때마다 목록이 다시 초기화됩니다. 나는 당신이 당신의 출력 목록의 모양을 원하는 완전히 잘 모르겠지만,

values_list = [] 
for i in range(len(basic_elements)): 
    value_list.append((basic_elements[i], x_count[i])) 

의 무언가 긴 라인은 [I], 튜플을 x_count을 basic_elements [I]의 목록을 작성해야합니다.

+0

코드에 목록 이해가 없습니다. – Barmar

+0

[basic_elements [i], x_count [i]]는 목록 이해력 – zyd

+0

이거나 어쨌든 하나의 시도처럼 보입니다. – zyd