Python for문 완벽 가이드: 기본부터 응용까지 마스터

1. Python의 for 문 기본

for 문이란 무엇인가

for 문은 Python에서 가장 기본적인 루프 처리 방법 중 하나입니다. 반복을 수행하기 위한 구문으로, 지정한 범위나 시퀀스의 각 요소에 대해 반복 처리를 합니다. 예를 들어 리스트, 튜플, 문자열 같은 자료형의 요소를 하나씩 처리하는 데 사용됩니다.

기본 구문

Python의 for 문의 기본 구문은 다음과 같습니다:
for 변수 in 시퀀스:
    실행할 코드
이 구문에서는 시퀀스 내의 각 요소가 순서대로 변수에 할당되고, 루프 안의 코드가 반복 실행됩니다.

range()를 사용한 for 문 예시

for i in range(5):
    print(i)
이 예에서는 range(5)가 0부터 4까지의 정수를 생성하고, 각각이 i에 할당되어 순서대로 출력됩니다。

2. for문으로 다양한 데이터 타입을 다루기

리스트의 반복 처리

리스트는 여러 요소를 가진 데이터 타입으로, for문을 사용하여 각 요소를 순서대로 꺼내 처리할 수 있습니다。
my_list = [1, 2, 3, 4, 5]
for value in my_list:
    print(value)
이 코드는 리스트의 각 요소를 하나씩 꺼내 출력합니다。

튜플의 반복 처리

튜플도 리스트와 마찬가지로 여러 요소를 가진 데이터 타입으로, for문으로 순서대로 요소를 꺼낼 수 있습니다。
my_tuple = (1, 2, 3)
for value in my_tuple:
    print(value)

딕셔너리의 반복 처리

딕셔너리는 키와 값의 쌍으로 데이터를 저장합니다。for문을 사용해 키와 값을 가져오려면, items() 메서드를 사용합니다。
my_dict = {"apple": "사과", "banana": "바나나", "orange": "귤"}
for key, value in my_dict.items():
    print(f"키: {key}, 값: {value}")

집합의 반복 처리

집합(set)은 중복되지 않는 요소의 모음입니다。for문으로 각 요소를 가져올 수 있습니다。
my_set = {"사과", "바나나", "귤"}
for fruit in my_set:
    print(fruit)
侍エンジニア塾

3. for문 제어

break문으로 루프 중단

break문은 지정된 조건에 도달했을 때 루프를 종료하는 데 사용됩니다.
for num in range(10):
    if num == 5:
        break
    print(num)
이 예에서는 num이 5에 도달하면 루프를 종료합니다.

continue문으로 루프 건너뛰기

continue문은 루프의 현재 반복을 건너뛰고 다음 반복으로 진행하는 데 사용됩니다。
for num in range(10):
    if num % 2 == 0:
        continue
    print(num)
이 예에서는 짝수 값을 건너뛰고 출력합니다.

4. 중첩된for

이중 루프

for문을 중첩하면 여러 시퀀스를 결합하여 처리할 수 있습니다.
for i in range(1, 4):
    for j in range(1, 4):
        print(i * j)
이 예에서는 이중 루프를 사용해 1부터 3까지의 곱을 출력합니다。

삼중 루프

삼중 루프도 마찬가지로 가능하며, 보다 복잡한 데이터 구조를 처리하는 데 사용됩니다。
for i in range(1, 4):
    for j in range(1, 4):
        for k in range(1, 4):
            print(i * j * k)
年収訴求

5. enumerate()를 사용한 반복 처리

enumerate()의 사용법

enumerate() 함수를 사용하면 리스트나 튜플의 요소와 동시에 해당 인덱스를 가져올 수 있습니다.
my_list = [1, 2, 3, 4, 5]
for index, value in enumerate(my_list):
    print(index, value)
이 코드에서는 리스트의 인덱스와 그 요소를 동시에 가져와 출력합니다.

6. 리스트 컴프리헨션으로 리스트 생성

기본적인 리스트 컴프리헨션

리스트 컴프리헨션을 사용하면, for문을 사용한 리스트 생성을 더 간결하게 작성할 수 있습니다。
my_list = [i * 2 for i in range(5)]
print(my_list)  # [0, 2, 4, 6, 8]
이 예에서는, range()의 값을 두 배로 하여 리스트에 저장합니다。

조건부 리스트 컴프리헨션

리스트 컴프리헨션에 if문을 포함하면, 조건에 맞는 요소만 리스트에 담을 수 있습니다。
my_list = [i for i in range(10) if i % 2 == 0]
print(my_list)  # [0, 2, 4, 6, 8]

7. 실전 예

파일 처리

for문은 파일을 한 줄씩 읽거나 처리할 때에도 사용됩니다。
with open('sample.txt', 'r') as f:
    for line in f:
        print(line.rstrip())
이 코드는 파일 sample.txt의 각 줄을 읽어 출력합니다。

8. for문 사용 시 요령과 주의사항

효율적인 루프 사용법

for문을 사용할 때는 불필요한 계산을 피하는 등 효율적으로 코딩하는 것이 중요합니다. 예를 들어, 루프 내부에서 매번 같은 계산을 수행하기보다는 루프 외부에서 한 번만 계산하는 등의 최적화가 필요합니다.

읽기 쉬운 코드를 작성하기

for문의 중첩이 깊어지면 코드의 가독성이 떨어집니다. 따라서 가능한 한 단순한 구조로 유지하는 것이 중요합니다. 또한 변수명에도 의미를 부여하면 코드의 의도를 명확히 할 수 있습니다.

주의사항

for문을 사용할 때 주의할 점으로, 루프 중에 리스트의 요소를 추가하거나 삭제하면 예상치 못한 동작을 유발할 수 있습니다. 또한, for문 안에서 대량의 데이터를 처리할 때는 처리 시간에 유의해야 합니다。

9. 요약

이 글에서는 Python의 for문에 대해 기본부터 응용까지 설명했습니다.for문은 반복 처리를 수행할 때 매우 유용한 도구로, 다양한 상황에서 활용할 수 있습니다. 이 글을 통해 for문의 사용법과 제어 방법을 이해하고, 효율적인 코드를 작성할 수 있게 되길 바랍니다.