python

[Python 기초] 반복문 for

kinggoddino 2024. 7. 4.

for  x  in  xs :

: 리스트 안에 있는 요소들을 하나씩 돌아준다.

dinosaurs = ['스피노','알로','티라노']
for dinosaur in dinosaurs:
    print(dinosaur)               # 스피노, 알로, 티라노

리스트에게 변수명(dinosaurs)을 지어주고, 그 안의 요소에게도 변수명(dinosaur)을 지어줌. 변수명 설정은 아무거나 상관없다.

근데 이왕이면 단수 복수 형태로 있는 게 이해하기 쉬우니깐 습관 들이기!

dinosaurs = [
    {'name':'spino','age':2},           # {'name':'spino','age':2}
    {'name':'tyranno','age':21},        # {'name':'tyranno','age':21}
    {'name':'allo','age':17}            # {'name':'allo','age':17}
]
for dinosaur in dinosaurs:
    print(dinosaur)

젤 많이 쓰는 형태인 리스트 안의 딕셔너리 형태에서,

for을 이용해 리스트 안에 있는 요소들을 하나하나 돌아서 프린트해줬다.

요소가 0번째부터 2번째까지 딕셔너리 형태 그대로 출력되었다.

dinosaurs = [
    {'name':'spino','age':2},           # spino 2
    {'name':'tyranno','age':21},        # tyranno 21
    {'name':'allo','age':17}            # allo 17
]
for dinosaur in dinosaurs:
    name = dinosaur['name']
    age = dinosaur['age']
    print(name,age)

리스트 안 각각 딕셔너리의 value를 변수로 지정해주기 위해 for 안에서 변수 선언을 해준다.

dinosaur['name'] : dinosaur 딕셔너리의 'name' key에 해당하는 value

dinosaur['age'] : dinosaur 딕셔너리의 'age' key에 해당하는 value

그리고 변수를 프린트해주면 각각의 딕셔너리에서 해당 value가 출력됨!


for  와  if  의 조합

: 리스트 안의 요소들에 하나하나 조건을 걸어서 적용할 수 있다.

dinosaurs = [
    {'name':'spino','age':2},
    {'name':'tyranno','age':21},        # tyranno 21
    {'name':'allo','age':17}            # allo 17
]
for dinosaur in dinosaurs:
    if dinosaur['age'] > 15:
        print(dinosaur['name'], dinosaur['age'])

for 안에 if 를 넣어줬다.딕셔너리를 하나씩 돌면서 age 조건을 만족하는지 확인하고 프린트 해준다.

dinosaurs = [
    {'name':'spino','age':2},
    {'name':'tyranno','age':21},        # tyranno 21
    {'name':'allo','age':17}            # allo 17
]
for dinosaur in dinosaurs:
    name = dinosaur['name']
    age = dinosaur['age']
    if age > 15:
        print(name, age)

변수를 이용할 때는 이렇게 할 수 있다. 들여쓰기 하는 위치, 코드 들가는 라인 위치 잘 보기. (name 과 age 변수는 딕셔너리 요소 하나씩 적용되야 하니까 for 위가 아니라 안에 들어가야한다.)

 

Tap : 들여쓰기 / Shift+Tap : 앞으로들여쓰기


enumerate

: 열거하다 라는 뜻. 요소에게 순서를 부여한다.

for i, 단수 in enumerate(복수) : 음. 형태 못외우겠음. 나중에 여기와서 예시 보고 해야지.

dinosaurs = [
    {'name':'spino','age':2},              # 0 spino 2
    {'name':'tyranno','age':21},           # 1 tyranno 21
    {'name':'allo','age':17}               # 2 allo 17
]
for i, dinosaur in enumerate(dinosaurs):
    name = dinosaur['name']
    age = dinosaur['age']
    print(i, name, age)

이렇게 요소에게 0,1,2...순서를 메기고, 그 순서를 출력할 수도 있다. 


break

: 조건이 성립하면 빠져나가기.

dinosaurs = [
    {'name':'spino','age':2},              # 0 spino 2
    {'name':'tyranno','age':21},           # 1 tyranno 21
    {'name':'allo','age':17}               
]
for i, dinosaur in enumerate(dinosaurs):
    name = dinosaur['name']
    age = dinosaur['age']
    print(i, name, age)
    if i == 1:
        break

i == 0 일때 print에서 출력됨    # 0 spino 2.

i == 0 이므로 if 불만족, 다음(i = 1)으로 넘어감.

i == 1 일때 print에서 출력됨    # 1 tyranno 21.

i == 1 이므로 if 만족, break 되어 다음(i = 2)으로 넘어가지 않음.

 

이걸 어따쓰냐면,

난 코딩 처음 하는데 정보가 막 백만줄이 있을 때.

계속 실행을 해보면서 코드를 수정해야 하는데, 백만줄을 매번 출력해보면서 수정하다간 영원히 끝낼 수 없으니까 윗부분만 짧게 출력하면서 계속 코드 디버깅 가능!

 

그런날이 올 수 있을때까지 빠이팅ㅠ

 

 


'python' 카테고리의 다른 글

[Python 기초] 튜플 tuple  (0) 2024.07.09
[Python 기초] 숫자 int  (0) 2024.07.05
[Python 기초] 함수 def  (2) 2024.07.03
[Python 기초] 조건문 if  (0) 2024.07.03
[Python 기초] 딕셔너리 dictionary  (0) 2024.07.03