14.1 for
반복문
Python에서는 튜플의 요소를 순회하는 데 일반적으로 for
반복문을 사용해.
이건 각 튜플 요소에 접근해서 코드 블록을 실행할 수 있는 가장 일반적인 방법이야.
for
반복문
for
반복문은 튜플의 각 요소를 순회하면서 현재 요소의 값을 for
키워드 다음에 지정된 변수에 잠시 할당해. 예를 들면:
my_tuple = (1, 2, 3, 4, 5)
for number in my_tuple:
print(number)
이미 리스트와 for
반복문을 다뤄봤으니, 몇 가지 실용적인 예제를 보자:
예제 1: 튜플 요소들의 합
튜플의 모든 요소를 합하는 예제를 보자.
my_tuple = (10, 20, 30, 40, 50)
total = 0
for number in my_tuple:
total += number
print(f"튜플의 요소들의 합: {total}")
이 예제에서는 my_tuple
라는 튜플과 요소들의 합을 저장할 total
변수를 만들어.
for
반복문을 사용해 튜플의 각 요소를 순회하면서 total
에 더해.
그 결과로 모든 요소의 합을 얻을 수 있어.
예제 2: 최대 요소 찾기
이번엔 튜플에서 최대 요소를 찾는 예제를 보자.
my_tuple = (5, 17, 23, 11, 2)
max_value = my_tuple[0]
for number in my_tuple:
if number > max_value:
max_value = number
print(f"튜플에서 최대값: {max_value}")
이 예제에서는 튜플의 첫 번째 요소로 max_value
를 초기화해.
그런 다음 모든 요소를 순회하면서, 각 요소를 현재 최대값과 비교해
더 큰 값이 있다면 max_value
를 갱신해.
14.2 중첩 튜플
튜플은 다른 튜플을 포함할 수 있고, for
반복문을 사용하여
중첩된 데이터 구조를 순회할 수 있어.
nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
for inner_tuple in nested_tuple:
for number in inner_tuple:
print(number, end=' ')
print()
이 예제에서 nested_tuple
은 튜플들을 포함해.
우리는 중첩된 for
반복문을 사용해서 각 중첩된 튜플의
요소를 순회해. 수행 결과:
1 2 3
4 5 6
7 8 9
14.3 인덱스를 사용하는 for 반복문
리스트와 마찬가지로, 튜플의 요소들도 인덱스를 가지고 있어.
그래서 for
반복문과 range()
함수를 조합하여
순회할 수 있어. 이렇게 하면 요소뿐만 아니라 위치에 대해서도 작업할 수 있어,
데이터에 대해 더 복잡한 조작을 수행할 때 유용해.
인덱스 기반 순회의 기본
각 요소의 인덱스에 접근하여 튜플을 순회하려면 다음과 같은 코드를 사용할 수 있어:
my_tuple = ('a', 'b', 'c', 'd')
for i in range(len(my_tuple)):
print(f'index: {i}, Element: {my_tuple[i]}')
인덱스를 사용하는 장점
인덱스를 사용하면, 예를 들어 현재 요소를 이전 또는 다음 요소와 비교하는 등 튜플의 여러 요소에 동시에 접근해야 하는 알고리즘을 쉽게 구현할 수 있어.
예제:
my_tuple = (15, 20, 23, 18, 22, 19, 21)
for i in range(1, len(my_tuple)):
if my_tuple[i] > my_tuple[i - 1]: # 이전 요소와 비교
print(f'{my_tuple[i]} is greater than {my_tuple[i - 1]}')
데이터 처리를 위한 인덱스를 사용하는 for 반복문
가령, 일주일 동안의 온도 데이터를 가진 튜플이 있고, 극단적인 값(가장 낮은 값과 가장 높은 값)을 제외한 평균 온도를 계산하고자 한다고 가정해 보자.
temperatures = (15, 20, 23, 18, 22, 19, 21)
sorted_temps = sorted(temperatures)
# 첫 번째와 마지막 온도 제외
filtered_temps = sorted_temps[1:-1]
average_temp = sum(filtered_temps) / len(filtered_temps)
print(f"일주일 평균 온도 (극단적인 값 제외): {average_temp}")
14.4 enumerate()
함수 사용하기
Python에서, enumerate()
함수는 튜플의 요소를
인덱스와 함께 순회할 수 있는 편리한 방법을 제공해.
이는 특히 인덱스와 리스트 요소의 값을 동시에 처리해야 할 때 유용해.
enumerate()
함수의 기본
enumerate()
함수는 튜플을 특별한 객체로 감싸서,
인덱스와 튜플 요소의 값으로 구성된 튜플 쌍을 생성하는
반복자를 반환해:
my_tuple = ('apple', 'banana', 'cherry')
for index, element in enumerate(my_tuple):
print(f'index: {index}, Element: {element}')
이제 요소뿐만 아니라 그 인덱스도 가지고 있어.
enumerate()
의 장점
enumerate()
를 사용하면 코드를 더 읽기 쉽게 만들어주고
range(len(…))
을 사용하여 인덱스를 수동으로 관리할 필요가 없게 해줘.
이는 요소 변경, 요소 접근, 조건 검사를 수행할 때 리스트 요소들을 다루는 것을 더 쉽게 해줘.
사용 예제들
가끔 튜플에서 특정 값이 나타나는 모든 인덱스를 찾아야 할 때가 있어.
my_tuple = (1, 2, 3, 2, 4, 2, 5)
search_value = 2
indices = []
for index, value in enumerate(my_tuple):
if value == search_value:
indices.append(index)
print(f"값 {search_value}는 인덱스에 나타난다: {indices}")
이 코드는 튜플에서 값 2가 나타나는 모든 인덱스를 찾아:
값 2는 인덱스에 나타난다: [1, 3, 5]
인덱스 기반의 데이터 필터링
인덱스를 기반으로 데이터를 필터링하여 짝수 인덱스를 가진 요소만 남기는 예제를 보자.
my_tuple = ('a', 'b', 'c', 'd', 'e', 'f')
filtered_tuple = tuple(value for index, value in enumerate(my_tuple) if index % 2 == 0)
print(f"짝수 인덱스 요소를 가진 튜플: {filtered_tuple}")
이 코드는 짝수 인덱스를 가진 요소들만 포함하는 새로운 튜플을 만들어:
짝수 인덱스 요소를 가진 튜플: ('a', 'c', 'e')
GO TO FULL VERSION