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

Python 튜플(Tuple)에 요소를 추가하는 방법 총정리

Python 튜플은 변경 불가능(Immutable)한 객체입니다

Python에서 튜플(tuple)은 한 번 생성되면 내용을 수정할 수 없는 불변(immutable) 객체입니다. 따라서 리스트처럼 append() 메서드를 사용해 요소를 직접 추가하려고 하면 오류가 발생합니다.

하지만 몇 가지 우회 방법을 사용하면 사실상 튜플에 새로운 요소를 추가한 것과 같은 결과를 얻을 수 있습니다.

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

가장 대표적인 방법은 다음과 같습니다.

  1. 내장 함수 list()를 사용해 튜플을 리스트로 변환합니다.
  2. 리스트 객체에는 언제든지 append()로 새 항목을 추가할 수 있습니다.
  3. 다시 내장 함수 tuple()을 사용해 리스트를 튜플로 되돌립니다.
>>> T1=(10,50,20,9,40,25,60,30,1,56)
>>> L1=list(T1)
>>> L1
[10, 50, 20, 9, 40, 25, 60, 30, 1, 56]
>>> L1.append(100)
>>> T1=tuple(L1)
>>> T1
(10, 50, 20, 9, 40, 25, 60, 30, 1, 56, 100)

실행 결과를 보면 원래 튜플의 끝에 새로운 요소 100이 추가된 것을 확인할 수 있습니다.

방법 2: 튜플 연결(Concatenation) 활용

리스트로 변환하지 않고 + 연산자를 이용해 기존 튜플과 새 요소를 담은 튜플을 합치는 방법도 있습니다.

>>> T1=(10,50,20,9,40,25,60,30,1,56)
>>> T1 = T1 + (100,)
>>> T1
(10, 50, 20, 9, 40, 25, 60, 30, 1, 56, 100)

이 경우 주의할 점은 단일 요소를 추가할 때 반드시 쉼표(,)를 붙여 (100,) 형태의 튜플로 만들어야 한다는 것입니다. (100)처럼 쉼표 없이 작성하면 괄호는 단순히 연산 우선순위를 나타내는 기호로 해석되어 정수형으로 처리됩니다.

마무리

튜플 자체는 수정이 불가능하기 때문에 위 방법들은 모두 새로운 튜플 객체를 생성하는 방식입니다. 데이터가 자주 변경된다면 애초에 리스트를 사용하는 것이 더 효율적이며, 읽기 전용 데이터라면 튜플을 유지하는 것이 좋습니다.