-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
Ex38. 반복문
19.12.04 00:35 작성 조회수 98
0
양수만 가진 리스트 변수 출력할때,
for index in num_list:
If index<0:
num_list.remove(index)
로 하니 -55가 출력되는데 왜이런건가요?
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2019.12.08
안녕하세요. 작성하신 코드의 일부분만 보여주셨기 때문에 -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):
감사합니다.
답변 1