본문 바로가기
파이썬/파이썬기본문법

파이썬 리스트 - for 루프

by flycoding 2023. 10. 10.
반응형

파이썬 리스트 for 루프

for 루프를 사용하여 리스트 항목을 순환할 수 있다:

a = ["사과", "바나나", "체리"]
for x in a:
  print(x)

리스트 a에서 항목을 하나씩 처음부터 끝까지 접근하여 출력을 하고자 한다면 for loop 문장을 통해 할 수 있다.

for x in a: 문장은 a 리스트에 인덱스값을 하나씩 증가시키면서(내부적 알고리즘임) x 변수에 값을 할당한다.

즉 첫번째 순환할 때에는 a[0]을 x(사과)가 할당이 되어 출력이 되고

두번째 순환할 때에는 a[1]을 x(바나나)가 할당이 되어 출력이 되고,

두번째 순환할 때에는 a[2]을 x(체리)가 할당이 되어 출력이 되며

위의 코드를 실행하면 아래 그림과 같다.

파이썬 리스트 for 루프 활용 예제

 

파이썬 리스트 - 인덱스 번호를 통한 루프

인덱스 번호를 참조하여 리스트 항목을 순환할 수도 있다.

range() 및 len() 함수를 사용하여 적합한 계수기를 만든다.

a = ["사과", "바나나", "체리"]
for i in range(len(a)):
  print(a[i])

len(a)는 리스트 a의 항목 개수로 3값이 되며 

for i in range(3):은 총 3번을 반복하게 되며 i값은 0, 1, 2값을 순환할 때마다 1씩 증가되며 순환이 된다.

그러므로 print(a[i])는 a[0], a[1], a[2]값이 화면에 각각 사과, 바나나, 체리가 아래 그림과 같이 출력이 된다.

파이썬 리스트 인덱스 번호 루프 활용 예제

 

파이썬 리스트 - while 루프

while 루프를 사용하여 리스트 항목을 순환할 수 있다.

len() 함수를 사용하여 목록의 길이를 결정한 다음, 0에서 시작하여 목록 항목의 색인을 참조하여 리스트 항목을 순환한다.

반복할 때마다 인덱스를 1씩 늘려야 한다.

a = ["사과", "바나나", "체리"]
i = 0
while i < len(a):
  print(a[i])
  i = i + 1

리스트 a에는 3개의 항목이 있다(len(a)).

리스트 항목에 인덱스로 i변수를 사용하며 초기값으로 0을 설정한다.

while i < len(a): 조건은 참일 때 루프로 순환하며 거짓일 경우 루프를 빠져나온다. 그러므로 i < 3:조건은 i가 0, 1, 2는 참이며 i가 3일 때 거짓으로 루프를 빠져나오게 되며 총 3번이 반복이 된다.

 

0 < 3: (참) i값이 0인 경우에는 print(a[0]), 리스트 a의 첫번째 항목 a[0]값 사과가 인쇄가 된 후, i = i + 1 연산후에 i = 1이 된다.

1 < 3: (참)i값이 1인 경우에는 print(a[1]), 리스트 a의 두번째 항목 a[1]값 바나나가 인쇄가 된 후, i = i + 1 연산후에 i = 2이 된다.

2 < 3: (참)i값이 2인 경우에는 print(a[2]), 리스트 a의 세번째 항목 a[2]값 체리가 인쇄가 된 후, i = i + 1 연산후에 i = 3이 된다.

3 < 3: (거짓)이므로 루프를 빠져나온다.

 

 

위의 코드를 실행하면 아래 그림과 같다.

파이썬 리스트 -&nbsp; while 루프 활용 예제

 

리스트 컨프리헨션(list comprehension)는 리스트를 순환하는 데 가장 짧은 구문을 제공한다:

리스트의 모든 항목을 인쇄하는 짧은 루프:

a = ["사과", "바나나", "체리"]
[print(x) for x in a]

리스트 컨프리헨션(list comprehension)는 리시트의 모든 항목을 인쇄하는 짧은 표현의 루프이다.

구문은 for 루프 동작원리와 동일하며 표현하는 방법만 다르다. 

for x in a 구문은 리스트 a에서 항목을 하나씩 접근하여 각각 사과, 바나나, 체리를 변수 x에 할당하여 print(x)로 인쇄한다.

위의 코드를 실행하면 아래 그림과 같다.

파이썬 리스트 컨프리헨션(list comprehenstion) 짧은 표현 활용 예제

 

지금까지 리스트 루프에 대하여 살펴보았다.

리스트 항목들을 순환하여 접근하는 방식에는 for loop, 인덱스 번호를 활용한 루프, while 루프, 리스트 컴프린헨션(list comprehension, 리스트 짧은 표현식)에 대해서 살펴보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글