제어흐름 8
제어흐름
for문 - range()
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in num_list:
print(i)
>1
2
..
10
range()를 사용하면 리스트를 만들지 않아도 된다.
for i in range(10):
print(i)
> 1
2
..
10
# 2~9
for i in range(2, 10):
print(i)
>2
3
..
9
#2~9, 3씩 건너띄워서
for i in range(2, 10, 3):
print(i)
> 2
5
8
for문 - 2, i 와 _
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in num_list:
print(i)
>1
2
..
10
range()를 사용하면 리스트를 만들지 않아도 된다.
for i in range(10):
print(i)
> 1
2
..
10
# 2~9
for i in range(2, 10):
print(i)
>2
3
..
9
#2~9, 3씩 건너띄워서
for i in range(2, 10, 3):
print(i)
> 2
5
8
변수 i는 index로 자주 사용하는데, 출력값앞에 인덱스도 출력하고 싶으면 아래처럼
for i in range(3):
print(i, 'hello')
> 0 hello
1 hello
2 hello
인덱스 안쓰고 프로그램만 돌리고 싶다는 의미를 코드를 사용할 때는 _ 밑줄사용
for _ in range(3):
print('hello')
> hello
hello
hello
for문 - 3, enumerate()
enumerate : 열거하다
for fruit in ['apple', 'banana', 'orange']:
print(fruit)
> apple
banana
orange
과일 앞에 인덱스를 추가 하고 싶다면 배웠던대로 아래와 같이 할 것이다.
i = 0
for fruit in ['apple', 'banana', 'orange']:
print(i, fruit)
i += 1
> 0 apple
1 banana
2 orange
이런 불편함을 해소해주는 enumerate()
for i, fruit in enumerate(['apple', 'banana', 'orange']):
print(i, fruit)
> 0 apple
1 banana
2 orange
for문 - 4, zip()
dayz = ['Mon', 'Tue', 'Wed']
fruits = ['apple', 'banana', 'orange']
drinks = ['coffee', 'tea', 'beer']
위 리스트를 하나씩 꺼내서 출력하려면(월요일에는 어떤 과일을 먹고, 어떤 음료를 마신다)
for i in range(len(dayz)):
print(dayz[i], fruits[i], drinks[i])
> Mon apple coffee
Tue banana tea
Wed orange beer
i가 반복이 발생. 이럴때 zip() 사용
for day, fruit, drink in zip(dayz, fruits, drinks):
print(day, fruit, drink)
> Mon apple coffee
Tue banana tea
Wed orange beer
첫번째 인덱스 값부터 순서대로 넣어서 출력해줌
for문 - 5, 사전형, items()
for문에서 사전형을 사용해보자
d = {'x': 100, 'y': 200}
for v in d:
print(v)
> x
y
key값만 출력됨
이럴때 사전형의 매소드인 items() 사용
for k, v in d.items():
print(k,':',v)
> x : 100
y : 200
사전형 d의 젤 앞부터 key와 value값이 k, v에 순서대로 들어감
print(d.items())
> dict_items([('x', 100), ('y', 200)])
items() 함수가 리스트 [('x', 100), ('y', 200)]) 를 가지고 오고
튜플형의 언패킹으로 k,v변수에 각각 들어감
Author And Source
이 문제에 관하여(제어흐름 8), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sayxyoung/python-syntax-controlflow-for2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)