• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예제 8번 관련 질문입니다

21.09.02 01:29 작성 조회수 96

0

8번이 실행되는 원리는 어느정도 이해가 가서 변형을 해보았습니다. 

수업에서 다루었던 코드가

a = ['foo', 'bar', 'baz']

while True:

    if not a:

        break

    print(a.pop())

인데 이것을 아래와 같이 바꾸면 에러가 뜹니다.

a = ['foo', 'bar', 'baz']

while True:

    if a == False:

            break

    else:

        print(a.pop())

if not a:가 a가 false가 되면으로 해석해서 저렇게 바꿔봤는데 에러로 IndexError: pop from empty list

가 뜨는 이유를 모르겠습니다. 답변 부탁드립니다.

답변 1

답변을 작성해보세요.

0

빈 리스트는

len() 함수 또는 위의 예제처럼 not 으로 체크하시면 됩니다.

a = ['foo', 'bar', 'baz']

while True:

    if not len(a):

        break

    else:

        print(a.pop())

윤건호님의 프로필

윤건호

질문자

2021.09.02

감사합니다!