제어흐름 8

2706 단어 pythonSyntaxTILSyntax

제어흐름

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 와 _

변수 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변수에 각각 들어감

좋은 웹페이지 즐겨찾기