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 |