소개
이 랩에서는 Python 에서 for 루프 문과 range() 함수를 사용하는 방법을 배우게 됩니다. For 루프 문은 리스트나 문자열과 같은 요소 시퀀스를 반복 처리할 수 있게 해줍니다. range() 함수는 기본적으로 0 부터 시작하여 1 씩 증가하고 지정된 숫자에서 끝나는 숫자 시퀀스를 반환하는 내장 함수입니다.
성과
- For 루프 문
range()함수enumerate()함수zip()함수
이 랩에서는 Python 에서 for 루프 문과 range() 함수를 사용하는 방법을 배우게 됩니다. For 루프 문은 리스트나 문자열과 같은 요소 시퀀스를 반복 처리할 수 있게 해줍니다. range() 함수는 기본적으로 0 부터 시작하여 1 씩 증가하고 지정된 숫자에서 끝나는 숫자 시퀀스를 반환하는 내장 함수입니다.
range() 함수enumerate() 함수zip() 함수for 루프는 요소 시퀀스를 반복 처리할 수 있게 해주는 제어 흐름 문입니다. for 루프의 구문은 다음과 같습니다.
for variable in sequence:
statements
여기서 sequence는 요소 시퀀스 (예: 리스트, 튜플 또는 문자열) 이고, variable 은 시퀀스의 각 값을 한 번에 하나씩 취하는 변수입니다. 루프 내부의 statements는 시퀀스의 각 값에 대해 실행됩니다.
새로운 Python 인터프리터를 엽니다.
python3
다음은 정수 리스트를 반복 처리하고 각 값을 출력하는 간단한 for 루프의 예입니다.
numbers = [1, 2, 3, 4, 5]
for number in numbers:
print(number)
문자열 반복 처리:
for char in 'Hello':
print(char)
range() 함수는 Python 의 내장 함수로, 숫자 시퀀스를 반환합니다. range() 함수의 구문은 다음과 같습니다.
range(start, stop, step)
여기서 start는 시퀀스의 시작 숫자 (기본값은 0) 이고, stop은 시퀀스의 종료 숫자 (포함되지 않음) 이며, step은 시퀀스의 각 숫자 사이의 증가분 (기본값은 1) 입니다.
for 루프에서 range() 함수를 사용하여 숫자 시퀀스를 반복 처리할 수 있습니다. 예를 들어:
for i in range(5):
print(i)
range() 함수에 start 및 stop 값을 지정할 수도 있습니다.
for i in range(2, 5):
print(i)
심지어 step 값을 지정할 수도 있습니다.
for i in range(2, 10, 2):
print(i)
중첩된 시퀀스를 반복 처리하기 위해 여러 개의 for 루프를 사용할 수도 있습니다. 예를 들어:
for i in range(1, 3):
for j in range(1, 4):
print(f'i: {i}, j: {j}')
이제 for 루프 문과 range() 함수를 사용하는 연습을 할 차례입니다. 다음 패턴을 출력하는 프로그램을 작성하십시오.
*
**
***
****
*****
몇 가지 힌트:
프로그램은 두 개의 for 루프를 사용해야 하며, 하나는 다른 하나 안에 중첩되어야 합니다. 외부 루프는 행의 수를 반복 처리하고, 내부 루프는 열의 수를 반복 처리해야 합니다.
이 연습 문제를 완료하려면 print() 함수를 사용하여 별표를 출력해야 합니다. range() 함수를 사용하여 루프의 반복 횟수를 제어할 수 있습니다.
enumerate 함수는 리스트와 같은 iterable 을 입력으로 받아 각 요소의 index와 value를 포함하는 튜플을 생성하는 이터레이터를 반환합니다. 아래 예제에서는 언패킹 연산자 (index, fruit) 를 사용하여 각 튜플의 인덱스와 값을 각각 index와 fruit 변수에 할당합니다.
## Python 에서 for 루프에서 enumerate 함수를 사용하는 예시
## 반복 처리할 샘플 리스트
fruits = ['apple', 'banana', 'cherry']
## for 루프와 enumerate 함수를 사용하여 리스트를 반복 처리
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
## 출력:
## Index: 0, Fruit: apple
## Index: 1, Fruit: banana
## Index: 2, Fruit: cherry
위의 예제에서는 사과, 바나나, 체리 요소를 포함하는 리스트 fruits를 정의합니다.
그런 다음 for 루프를 사용하여 fruits 리스트를 반복 처리하고 enumerate 함수를 사용하여 리스트의 각 요소의 인덱스와 값을 모두 가져옵니다. 루프 내부에서 문자열 서식을 사용하여 index와 fruit를 출력합니다. enumerate 함수는 기본적으로 0부터 카운트를 시작하지만, 선택적 인자 start 를 사용하여 카운트의 다른 시작점을 지정할 수 있습니다.
zip() 함수는 여러 리스트 또는 다른 iterable 객체를 사용하고 해당 요소들을 쌍으로 반복 처리하려는 경우, 또는 여러 iterable 객체를 하나로 결합하려는 경우에 유용할 수 있습니다.
## Python 에서 for 루프에서 zip() 함수를 사용하는 예시
## 반복 처리할 샘플 리스트
fruits = ['apple', 'banana', 'cherry']
prices = [1.2, 3.5, 2.5]
## for 루프와 zip 함수를 사용하여 리스트를 반복 처리
for fruit, price in zip(fruits, prices):
print(f"Fruit: {fruit}, Price: ${price}")
## 출력:
## Fruit: apple, Price: $1.2
## Fruit: banana, Price: $3.5
## Fruit: cherry, Price: $2.5
위의 예제에서는 apple, banana, cherry와 1.2, 3.5, 2.5 요소를 각각 포함하는 두 개의 리스트 fruits와 prices를 정의합니다.
그런 다음 for 루프를 사용하여 zip() 함수를 사용하여 두 리스트의 요소들을 반복 처리합니다. zip() 함수는 여러 iterable 객체를 입력으로 받아 해당 위치의 입력 iterable 요소들을 포함하는 튜플을 생성하는 이터레이터를 반환합니다. 위의 예제에서는 언패킹 연산자 (fruit, price) 를 사용하여 각 튜플의 요소를 각각 fruit와 price 변수에 할당합니다. 루프 내부에서 문자열 서식을 사용하여 과일과 가격을 출력합니다.
입력 iterable 의 길이가 같지 않은 경우, zip() 함수는 가장 짧은 iterable 의 끝에서 멈춥니다.
이 랩에서는 Python 의 for 루프 문과 range() 함수를 사용하여 일련의 요소들을 반복 처리하는 방법을 배웠습니다. for 루프와 range() 함수의 구문을 배우고, 리스트, 문자열, 튜플 및 숫자 시퀀스를 반복 처리하는 예제를 살펴보았습니다. 또한 중첩된 for 루프를 사용하여 중첩된 시퀀스를 반복 처리하는 방법도 배웠습니다.
이제 for 루프와 range() 함수의 기본 사항을 배웠으므로, 이러한 도구를 사용하여 데이터를 처리하고, 출력을 생성하는 등의 작업을 수행할 수 있습니다.