튜플 리스트(list of tuples)에서 각 튜플을 뒤집어야 할 때는 음수 스텝 슬라이싱(negative step slicing)을 활용하면 매우 간단하게 해결할 수 있습니다.
리스트는 정수, 실수, 문자열 등 서로 다른 자료형의 값들을 함께 저장할 수 있는 자료구조입니다. 튜플 리스트란 하나의 리스트 안에 여러 개의 튜플이 포함된 형태를 말합니다.
음수 슬라이싱은 양수 인덱스 대신 음수 인덱스를 사용하여 요소에 접근하는 방식입니다. 특히 [::-1]과 같이 스텝 값을 -1로 지정하면 시퀀스 전체를 역순으로 뒤집을 수 있습니다.
예제 코드
def reverse_tuple(my_tuple):
return [tup[::-1] for tup in my_tuple]
my_list = [(21, 22), (43, 74, 45), (76, 17, 98, 19)]
print("The list of tuples is ")
print(my_list)
print(reverse_tuple(my_list))실행 결과
The list of tuples is [(21, 22), (43, 74, 45), (76, 17, 98, 19)] [(22, 21), (45, 74, 43), (19, 98, 17, 76)]
코드 설명
- 'reverse_tuple'이라는 이름의 함수를 정의하고, 튜플 리스트를 매개변수로 받도록 합니다.
- 함수 내부에서는 리스트 컴프리헨션으로 매개변수를 순회하며, '::' 연산자와 음수 인덱싱(-1 스텝)을 사용해 각 튜플의 요소를 마지막부터 거꾸로 반환합니다.
- 여러 개의 튜플을 담은 리스트를 정의한 뒤 콘솔에 출력합니다.
- 앞서 정의한 사용자 함수를 호출하면서 해당 튜플 리스트를 인자로 전달합니다.
- 각 튜플이 뒤집힌 최종 결과가 콘솔에 출력됩니다.
이처럼 [::-1] 슬라이싱 기법을 사용하면 별도의 반복문이나 복잡한 로직 없이 한 줄의 코드로 튜플 리스트의 모든 튜플을 손쉽게 뒤집을 수 있습니다.