상세 컨텐츠

본문 제목

[python 문법] 반복문(for, enumerate, break)

Python

by ollive 2024. 6. 25. 22:00

본문

 

여러 요소를 출력하거나 리스트 속 여러 요소를 출력할때 하나씩 print를 하지 않고 for 문을 사용하여 간단히 출력할 수 있다. 

<실습1 : for 변수명 in 들어갈 변수>

 변수명의 경우 아무 이름이나 사용해도 무방하다. 잠깐 사용하는 변수이름이다.

fruits = ['사과','배','감','수박','딸기']

for fruit in fruits:
    print(fruit)

fruit 변수에 fruits 변수를 하나씩 넣어 fruit 변수를 출력시킴

fruits = ['사과','배','감','수박','딸기']

for Amo in fruits:
    print(Amo)

Amo 변수에 fruits 변수를 하나씩 넣어 Amo 변수를 출력시킴

 

<실습2: list, for, if>

list함수의 dictionary에서 필요한 변수만 불러와서, 조건에 맞는 값을 출력시킬 수 있다.

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for person in people:
    name = person['name']
    age = person['age']
    if age > 20:
        print(name, age)

person 변수에 people 변수가 가진 dictionary를 집어 넣고, 'name' 과 'age' 변수를 만들어준다. 이후 age의 if 조건문을 활용하여 20 이상의 값만 출력해준다. if 조건문에 해당되는 값을 출력하므로 print는 들여쓰기를 해야한다.

 

<실습3: enumerate함수>

enumerate(변수명)을 사용하면 결과값 앞에 0부터 번호를 붙여준다. 번호가 들어갈 변수도 만들어주어야 한다.

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i, name, age)

 

 

for 문에 i 변수를 추가하고, 불러올 변수명에 enumerate()를 붙여주었다. 출력 값에도 i를 추가하면 번호가 붙어서 출력된다.

 

<실습4: break>

번호를 붙여주면 break를 사용할 수 있는데, ~까지 출력하고 그만 두도록 출력값에 조건을 만들 수 있다.

출력되는 문장의 길이가 많은 경우, break를 사용하여 몇 문장만 확인하는데 사용한다.

people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

for i, person in enumerate(people):
    name = person['name']
    age = person['age']
    print(i, name, age)
    if i > 3:
        break

print(i, name, age) 로 값을 모두 출력하되, i가 3보다 크면 그만 출력을 멈춘다.

i = 3이면, i > 3이 아니므로 출력된다. i = 4이면, i > 3에 해당하므로 여기서 출력을 멈춘다. 따라서 i = 4까지 출력된다.

관련글 더보기