튜플을 특정 K 값에 따라 잘라내야 할 때는 간단한 반복문과 append 메서드를 활용하면 됩니다. 이 방법은 리스트 안의 각 튜플에서 앞뒤로 K개의 요소를 제거한 새로운 튜플을 만들어 결과 리스트에 저장하는 방식입니다.
아래 예제를 통해 실제 동작 과정을 살펴보겠습니다.
예제 코드
my_list = [(44, 3, 68, 11, 5), (68, 44, 9, 5, 8), (8, 11, 2, 68, 5), (44, 68, 2, 5, 7)]
print("리스트 :")
print(my_list)
K = 1
print("K 값 :")
print(K)
my_result = []
for element in my_list:
list_length = len(element)
my_result.append(tuple(list(element)[K: list_length - K]))
print("결과 리스트 :")
print(my_result)실행 결과
리스트 : [(44, 3, 68, 11, 5), (68, 44, 9, 5, 8), (8, 11, 2, 68, 5), (44, 68, 2, 5, 7)] K 값 : 1 결과 리스트 : [(3, 68, 11), (44, 9, 5), (11, 2, 68), (68, 2, 5)]
코드 설명
튜플들로 구성된 리스트를 정의하고 콘솔에 출력합니다.
잘라낼 기준이 되는 K 값을 정의하고 콘솔에 출력합니다.
결과를 담을 빈 리스트를 하나 생성합니다.
리스트를 순회하면서 각 튜플(요소)의 길이를 변수에 저장합니다.
인덱싱을 활용해 K번째 요소부터 (요소 길이 − K)번째까지의 부분을 추출한 뒤, 다시 튜플로 변환합니다.
변환된 튜플을 앞서 만든 빈 리스트에 추가(append)합니다.
모든 처리가 끝나면 최종 결과 리스트를 콘솔에 출력합니다.
추가 팁: 리스트 컴프리헨션 활용하기
위 코드는 리스트 컴프리헨션을 사용하면 더욱 간결하게 작성할 수 있습니다.
K = 1 my_result = [tuple(elem[K: len(elem) - K]) for elem in my_list] print(my_result)
이처럼 Python에서는 슬라이싱과 반복 구조를 조합하여 중첩된 데이터 구조도 손쉽게 가공할 수 있습니다.