CodeGym /자바 코스 /Python SELF KO /튜플 고급 사용법

튜플 고급 사용법

Python SELF KO
레벨 8 , 레슨 6
사용 가능

15.1 튜플 복사하기

우리가 이미 알고 있듯이, 튜플 (tuples)은 변경할 수 없는 요소들의 시퀀스야. 불변성 때문에 튜플을 복사하는 건 별거 아닌 것처럼 보일 수 있어. 왜냐면 리스트와는 다르게 튜플은 생성 후에 변하지 않으니까.

하지만 어떤 경우에는 튜플의 복사본을 만들어야 할 때가 있어, 특히 원본 데이터를 변경하지 않고 별도의 버전으로 작업하는 게 중요할 때. 주요 방법은 다음과 같아:

직접 할당

튜플을 복사하는 가장 간단한 방법은 직접 할당을 사용하는 거야. 이 방법은 새 튜플 객체를 만들지만, 튜플이 불변성이기 때문에 두 객체는 동일한 데이터를 참조하게 돼.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = original_tuple
print(copied_tuple)
        

이 경우 copied_tupleoriginal_tuple과 동일한 객체를 참조하게 돼.

tuple() 함수 사용하기

튜플을 복사하는 다른 방법은 내장 함수 tuple()을 사용하는 거야. 이 함수는 원본 튜플의 요소들을 복사하여 새로운 튜플을 생성해.


original_tuple = (1, 2, 3, 4, 5)
copied_tuple = tuple(original_tuple)
print(copied_tuple)

        

이 방법은 특히 원본 객체가 다른 iterable 객체일 수 있는 경우 새 객체를 생성하는 것을 확실히 하고 싶을 때 유용해.

리스트로 변환하기

때때로 변경 가능한 튜플 복사본을 리스트 형태로 만들어 변경한 후에 다시 튜플로 변환해야 할 때가 있어.


original_tuple = (1, 2, 3, 4, 5)

temp_list = list(original_tuple)
temp_list.append(6)
copied_tuple = tuple(temp_list)
            
print(copied_tuple)

        

이 예제에서는 먼저 튜플을 리스트로 변환하고, 새로운 요소를 추가한 후, 그 리스트를 다시 튜플로 변환했어.

15.2 튜플 결합하기

리스트와는 달리, 튜플은 생성 후에 변경할 수 없어. 하지만 기존 튜플을 결합하여 새로운 튜플을 생성할 수 있어. 튜플 결합은 다양한 프로그래밍 시나리오에서 유용할 수 있는 흔한 작업이야.

튜플 결합의 주요 방법

연결

두 개 이상의 튜플을 결합하는 가장 간단한 방법은 연산자 +를 사용하는 거야. 이 방법은 원본 튜플을 연결한 결과로 새로운 튜플을 생성해.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
combined_tuple = tuple1 + tuple2
            
print(combined_tuple)
        

이 예제에서 combined_tuple은 (1, 2, 3, 4, 5, 6) 요소를 포함하게 돼.

정수 곱하기

* 연산자를 사용하여 튜플을 정수로 곱할 수도 있어. 이 방법은 튜플을 주어진 횟수만큼 반복하여 새로운 튜플을 생성해.


tuple1 = (1, 2, 3)
multiplied_tuple = tuple1 * 3
            
print(multiplied_tuple)
        

여기서 multiplied_tuple은 (1, 2, 3, 1, 2, 3, 1, 2, 3) 요소를 포함해.

itertools.chain 함수

많은 수의 튜플을 결합해야 할 때는 itertools 모듈의 chain 함수를 사용할 수 있어. 결합할 튜플의 수를 미리 알 수 없을 때 편리해.


from itertools import chain

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
tuple3 = (7, 8, 9)
            
combined_tuple = tuple(chain(tuple1, tuple2, tuple3))
print(combined_tuple)
        

결과는 (1, 2, 3, 4, 5, 6, 7, 8, 9)야.

15.3 중첩 튜플

다른 튜플을 포함하는 튜플을 중첩 튜플 (nested tuples)이라고 불러. 중첩 튜플은 데이터를 구성하고 구조화하는 편리한 방법을 제공해, 특히 다차원 데이터나 복잡한 구조를 나타내야 할 때 유용해.

튜플을 결합하여 중첩 구조를 생성할 수 있어. 이는 다차원 구조로 데이터를 구성하는 데 유용해. Python에서 중첩 튜플을 만드는 것은 일반 튜플을 만드는 것만큼 간단해. 단지 한 튜플을 다른 튜플에 포함시키기만 하면 돼.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
        

이 예제에서 nested_tuple은 각각 세 요소로 이루어진 세 튜플을 포함하고 있어.

일반 튜플에서 중첩 튜플 생성 예제:

이 예제에서 nested_tuple은 각각 세 요소로 이루어진 세 튜플을 포함하고 있어.


tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
nested_tuple = (tuple1, tuple2)
            
print(nested_tuple)
        

여기서 nested_tuple은 ((1, 2, 3), (4, 5, 6))을 포함해.

중첩 튜플의 요소에 접근하기

중첩 튜플의 요소에 접근할 때는 다중 인덱싱을 사용해. 먼저 외부 튜플의 인덱스를 지정하고, 그 다음에 내부 튜플의 인덱스를 지정해.


nested_tuple = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

# 두 번째 중첩 튜플에서 요소 5에 접근하기
element = nested_tuple[1][1]
print(element)  # 출력: 5
        

다차원 배열

중첩 튜플은 2차원 또는 다차원 배열을 나타내기 위해 자주 사용돼. 예를 들어, 데이터 표는 각 표의 행이 별도의 튜플인 튜플의 튜플로 나타낼 수 있어.

데이터 구조화

중첩 튜플은 여러 장소의 위도와 경도를 포함한 지리적 좌표와 같은 데이터를 구조화하는 데 편리해:


locations = (("New York", (40.7128, -74.0060)), 
             ("Los Angeles", (34.0522, -118.2437)), 
             ("Chicago", (41.8781, -87.6298)))
        
1
Опрос
파이썬에서의 튜플,  8 уровень,  6 лекция
недоступен
파이썬에서의 튜플
파이썬에서의 튜플
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION