반복문으로 리스트의 요소를 모두 출력하기
리스트에 인덱스를 지정하여 요소를 한 개씩 출력하기는 상당히 귀찮죠? 이번에는 리스트와 반복문을 사용하여 간단하게 모든 요소를 출력해보겠습니다.
1) for 반복문으로 요소 출력하기
for 반복문은 그냥 in 뒤에 리스트를 지정하면 됩니다.
for 변수 in 리스트:
반복할 코드
다음은 for로 리스트 a의 모든 요소를 출력합니다.
>>> a = [38, 21, 53, 62, 19]
>>> for i in a:
... print(i)
...
38
21
53
62
19
물론 in 다음에 리스트를 직접 지정해도 상관 없습니다.
for i in [38, 21, 53, 62, 19]:
print(i)
2) 인덱스와 요소를 함께 출력하기
그럼 for 반복문으로 요소를 출력할 때 인덱스도 함께 출력하려면 어떻게 해야 할까요? 이때는 enumerate를 사용합니다.
- for 인덱스, 요소 in enumerate(리스트):
>>> a = [38, 21, 53, 62, 19]
>>> for index, value in enumerate(a):
... print(index, value)
...
0 38
1 21
2 53
3 62
4 19
앞의 코드는 인덱스를 0부터 출력하는데 1부터 출력하고 싶을 수도 있습니다. 다음과 같이 그냥 index + 1을 출력하면 되겠죠?
>>> for index, value in enumerate(a):
... print(index + 1, value)
...
1 38
2 21
3 53
4 62
5 19
하지만 좀 더 파이썬 다운 방법이 있습니다. 다음과 같이 enumerate에 start를 지정해주면 됩니다.
- for 인덱스, 요소 in enumerate(리스트, start=숫자):
>>> for index, value in enumerate(a, start=1):
... print(index, value)
...
1 38
2 21
3 53
4 62
5 19
enumerate(a, start=1)처럼 start에 1을 지정하여 인덱스가 1부터 시작하도록 만들었습니다. 이 코드는 enumerate(a, 1)과 같이 줄여 쓸 수도 있습니다.
>>> a = [38, 21, 53, 62, 19]
>>> for i in range(len(a)):
... print(a[i])
...
38
21
53
62
19
3) while반복문으로 요소 출력하기
이번에는 while 반복문으로 리스트의 요소를 출력해보겠습니다.
>>> a = [38, 21, 53, 62, 19]
>>> i = 0
>>> while i < len(a):
... print(a[i])
... i += 1
...
38
21
53
62
19
while 반복문으로 리스트의 요소를 출력할 때는 변수 i를 인덱스로 활용합니다. 먼저 변수 i를 0으로 만들어주고, i < len(a)처럼 i가 리스트의 길이(요소 개수) 직전까지만 반복하도록 만듭니다.
즉, 리스트의 인덱스는 0부터 시작하고 마지막 인덱스는 리스트의 길이보다 1이 작으므로 <를 사용합니다. 만약 i <= len(a)처럼 <=을 사용하면 리스트의 범위를 벗어나게 되므로 주의해야 합니다.
>>> a = [38, 21, 53, 62, 19]
>>> i = 0
>>> while i <= len(a):
... print(a[i])
... i += 1
...
38
21
53
62
19
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
IndexError: list index out of range
while 반복문 안에서 요소를 출력할 때는 print(a[i])와 같이 리스트의 인덱스 부분에 i를 지정하여 출력합니다. 그다음에는 i가 1씩 증가하도록 만들면 됩니다.
while i < len(a):
print(a[i])
i += 1
'Python' 카테고리의 다른 글
| 리스트 표현식 (0) | 2026.01.21 |
|---|---|
| 리스트의 가장 작은 수, 가장 큰 수, 합계 구하기 (0) | 2026.01.21 |
| 리스트의 할당과 복사 알아보기 (0) | 2026.01.21 |
| 리스트 method (0) | 2026.01.08 |
| for 반복문 / while 반복문 / 무한Loop /break, continue (1) | 2025.12.31 |
댓글