Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 튜플(Tuple)의 요소 값을 업데이트하는 방법

Python에서 튜플(tuple)은 불변(immutable) 객체입니다. 따라서 한 번 생성된 튜플은 요소를 직접 수정하거나 업데이트하는 작업이 허용되지 않습니다. 하지만 몇 가지 우회 방법을 사용하면 사실상 요소 값을 업데이트한 것과 동일한 결과를 얻을 수 있습니다.

list()와 tuple() 함수를 활용한 변환 방법

가장 일반적인 방법은 내장 함수 list()를 사용해 튜플을 리스트로 변환하는 것입니다. 리스트는 가변(mutable) 객체이므로 특정 인덱스에 새로운 값을 할당하여 자유롭게 항목을 수정할 수 있습니다. 수정이 완료되면 또 다른 내장 함수인 tuple()을 사용해 리스트 객체를 다시 튜플로 변환하면 됩니다.

>>> T1=(10,50,20,9,40,25,60,30,1,56)
>>> L1=list(T1)
>>> L1[5]=100
>>> T1=tuple(L1)
>>> T1
(10, 50, 20, 9, 40, 100, 60, 30, 1, 56)

위 예제에서는 원본 튜플의 인덱스 5에 위치한 요소가 25에서 100으로 변경된 것을 확인할 수 있습니다.

슬라이싱과 연결 연산을 활용한 대안

리스트로 변환하지 않고도 슬라이싱(slicing)과 연결(concatenation) 연산자를 조합하여 새로운 튜플을 생성하는 방법도 있습니다. 기존 튜플을 원하는 위치 앞뒤로 잘라내고, 그 사이에 새로운 값을 담은 튜플을 삽입하면 됩니다.

>>> T1=(10,50,20,9,40,25,60,30,1,56)
>>> T1 = T1[:5] + (100,) + T1[6:]
>>> T1
(10, 50, 20, 9, 40, 100, 60, 30, 1, 56)

두 방법 모두 원본 튜플을 직접 수정하는 것이 아니라 새로운 객체를 만드는 방식이라는 점을 기억하세요. 이는 Python 튜플의 불변성(immutability) 특성을 그대로 유지하면서도 실질적으로 요소 값을 갱신하는 효과를 얻을 수 있는 안전한 접근 방식입니다.