파이썬에서 제공하는 내장 함수 중에는 반복(iteration)과 관련된 함수들이 있습니다. 이 함수들은 반복 작업을 더 간단하고 효율적으로 수행할 수 있게 도와줍니다. 가장 많이 사용되는 반복 관련 내장 함수는 다음과 같습니다:
1. range()
range() 함수는 특정 범위의 숫자들을 생성하는 함수로, 반복문에서 많이 사용됩니다. 주로 for 문과 함께 사용되어 지정된 범위 내에서 반복을 수행합니다.
문법: range(start, stop, step)
start: 시작값 (생략 시 기본값은 0)
stop: 끝값 (이 값은 포함되지 않음)
step: 증가 또는 감소 값 (생략 시 기본값은 1)
예시:
for i in range(5): # 0부터 4까지 반복
print(i)
for i in range(1, 10, 2): # 1부터 9까지 2씩 증가
print(i)
2. map()
map() 함수는 반복 가능한(iterable) 객체의 각 요소에 대해 지정된 함수를 적용하여 새로운 값을 반환하는 함수입니다. 주로 리스트, 튜플 등에 대해 사용됩니다.
문법: map(function, iterable)
function: 각 요소에 적용할 함수
iterable: 반복 가능한 객체 (리스트, 튜플 등)
예시:
def square(x):
return x * 2
numbers = [1, 2, 3, 4]
result = map(square, numbers)
print(list(result)) # 출력: [2, 4, 6, 8]
3. zip()
zip() 함수는 여러 개의 반복 가능한 객체를 동시에 묶어서 튜플 형태로 반환합니다. 각 반복 가능한 객체에서 동일한 인덱스에 있는 값들을 묶어줍니다.
문법: zip(*iterables)
iterables: 하나 이상의 반복 가능한 객체
예시:
names = ['Alice', 'Bob', 'Charlie']
scores = [90, 80, 95]
result = zip(names, scores)
print(list(result)) # 출력: [('Alice', 90), ('Bob', 80), ('Charlie', 95)]
4. filter()
filter() 함수는 반복 가능한 객체의 각 요소에 대해 주어진 조건을 검사하고, 참인 요소만 걸러서 반환하는 함수입니다.
문법: filter(function, iterable)
function: 각 요소에 적용할 조건을 나타내는 함수
iterable: 반복 가능한 객체 (리스트, 튜플 등)
예시:
def is_even(x):
return x % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
result = filter(is_even, numbers)
print(list(result)) # 출력: [2, 4, 6]
5. enumerate()
enumerate() 함수는 반복 가능한 객체를 반복하면서 인덱스와 요소를 동시에 반환합니다. for 루프에서 자주 사용됩니다.
문법: enumerate(iterable, start=0)
iterable: 반복 가능한 객체
start: 인덱스 시작값 (기본값은 0)
예시:
names = ['Alice', 'Bob', 'Charlie']
for index, name in enumerate(names, start=1):
print(f"{index}: {name}")
# 출력:
# 1: Alice
# 2: Bob
# 3: Charlie
6. iter()
iter() 함수는 반복 가능한 객체를 이터레이터로 변환합니다. 이터레이터는 next() 함수를 사용해 한 번에 하나의 요소를 반환할 수 있습니다.
문법: iter(object)
예시:
numbers = [1, 2, 3, 4]
iterator = iter(numbers)
print(next(iterator)) # 출력: 1
print(next(iterator)) # 출력: 2
7. next()
next() 함수는 이터레이터에서 다음 요소를 반환하는 함수입니다. 이터레이터가 끝나면 StopIteration 예외가 발생합니다.
문법: next(iterator, default)
iterator: 이터레이터 객체
default: 이터레이터가 끝났을 때 반환할 기본값 (선택적)
예시:
numbers = [1, 2, 3]
iterator = iter(numbers)
print(next(iterator)) # 출력: 1
print(next(iterator)) # 출력: 2
print(next(iterator)) # 출력: 3
# print(next(iterator)) # 예외: StopIteration 발생
8. all() 및 any()
all(): 주어진 반복 가능한 객체의 모든 요소가 참이면 True를 반환, 하나라도 거짓이면 False를 반환
any(): 주어진 반복 가능한 객체의 요소 중 하나라도 참이면 True를 반환, 모든 요소가 거짓이면 False를 반환
문법:
all(iterable)
any(iterable)
예시:
numbers = [1, 2, 3, 4]
# 모든 값이 참인지 확인
print(all(numbers)) # 출력: True
# 하나라도 참인지 확인
print(any(numbers)) # 출력: True
# 0이 포함된 경우
numbers_with_zero = [0, 1, 2, 3]
print(all(numbers_with_zero)) # 출력: False
print(any(numbers_with_zero)) # 출력: True
이러한 반복 관련 내장 함수들은 파이썬에서 효율적으로 반복 작업을 처리하는 데 매우 유용하며, 복잡한 로직을 단순화시킬 수 있습니다.
'Python 연습 > 1. Python 설치와 실습 - 아나콘다' 카테고리의 다른 글
Q_01_18 현재 사용되고 있는 파이썬 패키지의 수는 얼마인가 (0) | 2025.03.20 |
---|---|
Q_01_12. range(1,11) 사용하기 - 기본함수 (0) | 2025.03.20 |
Q_01_16.기술통계량 관련 함수 - min, max, sum, len 등 (0) | 2025.03.20 |
Q_01_17. 표준라이브러리 statistics 모듈사용 기술통계량 구하기 (0) | 2025.03.20 |
Q_01_13. 파이썬 설치할 때, 설치되는 표준라이브러리에는 어떤 것이 있는가 (0) | 2025.03.20 |