인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

gking님의 프로필 이미지

작성한 질문수

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

질문 드립니다.

작성

·

266

0

- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)
- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다
- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

[반복문활용2] - 13분, Exercise 38

리스트에서 음수만 제거하고 양수만 남기는 문제에서 num_list.remove를 사용해서 아래와 같이 코드를 작성했을 때

[0, 31, 22, 33, -55] 로 리스트 마지막의 -55가 제거되지 않는 이유는 무엇인가요?

 

plus_list = list()

num_list = [0, -11, 31, 22, -11, 33, -44, -55]

for num in num_list:

if num < 0:

print(num)

num_list.remove(num)

print (num_list)

 

 

답변 1

0

잔재미코딩 DaveLee님의 프로필 이미지

안녕하세요. 답변 도우미입니다.

아마도 remove() 함수를 사용하면, 해당 리스트에서 해당 데이터가 삭제가 되면서, 전체 리스트의 사이즈가 줄어듭니다. 그래서, 마지막등에 있는 리스트까지 반복문이 진행되지 않으면서, 해당 리스트까지 닿지 못해서 삭제가 안될 수 있습니다.

반복문 안에 print(num_list) 를 넣어서, remove() 시 어떻게 변경이 되는지 출력해보시면, 확실히 이해하실 수 있으실 것 같습니다.

감사합니다.

gking님의 프로필 이미지

작성한 질문수

질문하기