• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

Ex38. 반복문

19.12.04 00:35 작성 조회수 98

0

양수만 가진 리스트 변수 출력할때,

for index in num_list:

       If index<0:

              num_list.remove(index)

로 하니 -55가 출력되는데 왜이런건가요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 작성하신 코드의 일부분만 보여주셨기 때문에 -55가 왜 출력되는지는 말씀드리기가 쉽지는 않은데요.

작성하신 코드로 보면, num_list 가 리스트변수라고 했을 때, index 는 리스트의 인덱스 번호가 아니라, 리스트의 각 아이템이 가져와질 것입니다. 예를 들어 num_list 변수가 다음과 같다면,

num_list = [10, 20, 30]

for index in num_list:

코드는 index가 10, 20, 30 이 각각 반복될 때마다 넣어질 것입니다.

그래서, 만약 num_list 변수가 양수만 가지고 있다면, 다음 조건문은 한번도 실행이 안되는 것이 정상입니다.

       if index<0:

              num_list.remove(index)

만약 리스트 아이템의 인덱스 번호와, 해당 아이템 값을 가져오고 싶으시다면 다음과 같이 enumerate() 함수를 써보시면 더 좋을 것 같습니다. 앞의 변수 index에 인덱스 번호, 뒤의 변수 num에 해당 인덱스 번호에 해당하는 아이템 값이 가져와지게 되어 있습니다.

for index, num in enumerate(num_list):

 감사합니다.