예제8번 질문입니다.
227
작성자 없음
작성한 질문수 0
안녕하세요. 마지막 예제8번 강의 설명이 잘 이해가 안 되는데, 코드 해석좀 다시 부탁드립니다.
a = ['foo', 'bar', 'baz']
while True:
if not a:
break
print(a.pop())
답변 2
3
안녕하세요, Openhaed님!
a = ['foo', 'bar', 'baz']
while True:
# ....
a라는 리스트를 선언해주고, while의 조건을 True로 설정해 break문에서만 while문이 끝나도록 설정해줍니다.
if not a:
break
위의 코드는 a에 더 이상 요소가 없을 때, 즉 a의 리스트 길이가 0이 될 때 break를 실행하는 코드입니다.
print(a.pop())
마지막으로 a.pop()이라는 코드는 리스트의 pop 함수를 실행합니다.
pop 함수는 리스트의 마지막 요소를 제거하며 반환합니다.
따라서, while문의 순회에 따라 a 리스트의 변화는
-
['foo', 'bar', 'baz']
-
['foo', 'bar']
-
['foo']
-
[]
위와 같습니다.
따라서 4번째 순회때 리스트의 요소가 없으므로 break문이 실행되면서 while 루프문을 빠져나오게 됩니다.
혹시 궁금한 점이 있으시다면 댓글 남겨주세요.
해결이 되었으면 좋겠습니다. :)
0
안녕하세요. 먼저 가볍게 설명할게요.
a에는 foo와 bar와 baz가 들어있습니다.
while True는 무한반복입니다.
if not a는 a가없으면 ~라는 뜻입니다.
break 는 (반복)종료입니다.
a.pop()가 무엇을버리는지 모르는것같은데 pop는 가장마지막의 요소를 버린다는것입니다.
(a.pop(0)는 처음요소를버립니다.)
그래서 a마지막요소가 없어지고나서는 출력이 안될것같지만 print(a.pop())는 출력하고나서 삭제됩니다.
그래서 흐름은 'foo', 'bar', 'baz'
남아있음 리스트['foo', 'bar']출력:'baz'
남아있음 리스트['foo']출력:'bar', 'baz'
남아있음 리스트[]출력:'foo', 'bar', 'baz'
비었음: break
모르는게있으면 물어보세요!
인스턴스 변수 문의
0
37
1
챕터 03_04 (튜플) 교육자료
0
35
2
Package(3-1) Sub 폴더 자료
0
36
1
아톰 출력 안됨
0
66
2
강의자료 메일 발송 요청 드립니다.
0
77
1
강의자료 메일로 보내주실 수 있으실까요?
1
53
0
Iterable 요소는 리스트로 작성해야하는 것 맞나요?
1
77
2
강의자료 부탁드립니다
0
63
2
if Flase: print('Bad')
0
60
1
=와 == 의 차이
0
78
1
functions 함수 섭들을려고하는데요
0
67
1
강의자료 부타드리겠습니다!
0
58
0
VSCODE에 VIEW에서 SELECTED INTERPRETER조회가 안됩니다.
0
65
1
강의자료 부탁드립니다.
0
52
0
dict의 Key를 바꾸는 방법
0
67
1
강의자료부탁드립니다
0
61
1
run withount 디버깅 및 F5+ctrl이 안먹혀요
0
61
1
강의 자료와 예정 다운로드
0
75
2
객체지향 vs 함수형
0
61
1
어렵네요 설정도
0
85
1
설정이 잘 된건지
0
51
1
맥 os vscode 설정 - python interpreter select
0
104
1
강의자료 부탁드립니다. mytoughgirl@naver.com 입니다.
0
46
1
vscode로 수업 진행한 영상은 없는건가요?
0
57
2





