logo

Python의 튜플

Python Tuple은 쉼표로 구분된 개체 모음입니다. 어떤 면에서 튜플은 인덱싱, 중첩된 개체 및 반복 측면에서 Python 목록과 유사하지만 둘 사이의 주요 차이점은 Python 목록이 변경 가능한 것과 달리 Python 튜플은 변경 불가능하다는 것입니다.

Python 튜플 만들기

튜플을 생성하는 방법에는 여러 가지가 있습니다. 파이썬 . 그것들은 다음과 같습니다:



  • 둥근 괄호 사용
  • 아이템 하나로
  • 튜플 생성자

둥근 괄호를 사용하여 튜플 생성()

튜플을 생성하려면 () 연산자를 사용합니다.

파이썬3








var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(var)>

>

>

산출:

('Geeks', 'for', 'Geeks')>

하나의 항목으로 튜플 만들기

Python 3.11은 Tuple을 생성하는 또 다른 방법을 제공합니다.

CSS 이미지 중앙 정렬

파이썬3




values :>tuple>[>int> |>str>, ...]>=> (>1>,>2>,>4>,>'Geek'>)> print>(values)>

>

>

산출:

위의 코드 조각에서 우리는 int 또는 str로 구성된 튜플을 보유하는 값이라는 변수를 고려하고 있습니다. '...'는 튜플이 둘 이상의 int 또는 str을 보유한다는 것을 의미합니다.

(1, 2, 4, 'Geek')>

메모: 단일 요소로 튜플을 생성하는 경우 요소 뒤에 쉼표를 추가해야 합니다. 동일한 예를 살펴보겠습니다.

파이썬3




mytuple>=> (>'Geeks'>,)> print>(>type>(mytuple))> #NOT a tuple> mytuple>=> (>'Geeks'>)> print>(>type>(mytuple))>

>

>

산출:

>

Python의 튜플 생성자

Tuple 생성자를 사용하여 튜플을 생성하려면 요소를 매개변수로 전달합니다.

파이썬3




tuple_constructor>=> tuple>((>'dsa'>,>'developement'>,>'deep learning'>))> print>(tuple_constructor)>

>

>

출력 :

('dsa', 'developement', 'deep learning')>

튜플에서 불변이란 무엇입니까?

Python의 튜플은 다음과 유사합니다. 파이썬 목록 그러나 완전히는 아닙니다. 튜플은 변경할 수 없고 순서가 지정되어 있으며 중복 값을 허용합니다. Python의 튜플의 일부 특성

  • 항목을 찾아도 튜플이 변경되지 않으므로 튜플에서 항목을 찾을 수 있습니다.
  • 일단 생성된 튜플에는 항목을 추가할 수 없습니다.
  • 튜플은 추가하거나 확장할 수 없습니다.
  • 튜플이 생성되면 항목을 제거할 수 없습니다.

예를 들어 살펴보겠습니다.

파이썬3




mytuple>=> (>1>,>2>,>3>,>4>,>5>)> # tuples are indexed> print>(mytuple[>1>])> print>(mytuple[>4>])> # tuples contain duplicate elements> mytuple>=> (>1>,>2>,>3>,>4>,>2>,>3>)> print>(mytuple)> # adding an element> mytuple[>1>]>=> 100> print>(mytuple)>

>

>

산출:

Python 튜플은 순서가 지정되어 있으며 인덱스 값을 사용하여 해당 요소에 액세스할 수 있습니다. 또한 불변입니다. 즉, 튜플에 선언된 요소를 추가, 제거 및 변경할 수 없으므로 인덱스 1에 요소를 추가하려고 하면 오류가 발생합니다.

2 5 (1, 2, 3, 4, 2, 3) Traceback (most recent call last): File 'e0eaddff843a8695575daec34506f126.py', line 11, in tuple1[1] = 100 TypeError: 'tuple' object does not support item assignment>

Python 튜플의 값에 액세스

Python의 튜플은 튜플의 요소에 액세스할 수 있는 두 가지 방법을 제공합니다.

  • 양수 인덱스 사용
  • 음수 인덱스 사용

양수 인덱스를 사용하는 Python 액세스 튜플

대괄호를 사용하면 Python의 튜플에서 값을 얻을 수 있습니다.

파이썬3




var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(>'Value in Var[0] = '>, var[>0>])> print>(>'Value in Var[1] = '>, var[>1>])> print>(>'Value in Var[2] = '>, var[>2>])>

>

>

산출:

Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks>

음수 인덱스를 사용하여 튜플에 액세스

위의 방법에서는 양수 인덱스를 사용하여 Python의 값에 액세스하고 여기서는 [] 내에서 음수 인덱스를 사용합니다.

파이썬3




var>=> (>1>,>2>,>3>)> print>(>'Value in Var[-1] = '>, var[>->1>])> print>(>'Value in Var[-2] = '>, var[>->2>])> print>(>'Value in Var[-3] = '>, var[>->3>])>

>

>

산출:

Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1>

튜플과 관련된 다양한 작업

다음은 Python의 튜플과 관련된 다양한 작업입니다.

  • 연쇄
  • 중첩
  • 되풀이
  • 슬라이싱
  • 삭제 중
  • 길이 찾기
  • 튜플을 사용한 다중 데이터 유형
  • 목록을 튜플로 변환
  • 루프 안의 튜플

Python 튜플의 연결

에게 연쇄 Python Tuples에서는 더하기 연산자(+)를 사용합니다.

파이썬3




# Code for concatenating 2 tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> # Concatenating above two> print>(tuple1>+> tuple2)>

>

>

산출:

(0, 1, 2, 3, 'python', 'geek')>

Python 튜플 중첩

Python에서 중첩된 튜플은 다른 튜플 내부의 튜플을 의미합니다.

파이썬3




# Code for creating nested tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> tuple3>=> (tuple1, tuple2)> print>(tuple3)>

>

>

출력 :

((0, 1, 2, 3), ('python', 'geek'))>

반복 파이썬 튜플

해당 튜플의 단일 요소에서 여러 개의 동일한 요소로 구성된 튜플을 만들 수 있습니다.

파이썬3




이진 검색 알고리즘
# Code to create a tuple with repetition> tuple3>=> (>'python'>,)>*>3> print>(tuple3)>

>

>

산출:

('python', 'python', 'python')>

위의 내용을 쉼표 없이 시도해보고 확인하세요. Tuple3을 문자열 'pythonpythonpython'으로 얻습니다.

Python에서 튜플 자르기

Python 튜플을 분할한다는 것은 인덱싱 방법을 사용하여 튜플을 작은 튜플로 나누는 것을 의미합니다.

파이썬3




# code to test slicing> tuple1>=> (>0> ,>1>,>2>,>3>)> print>(tuple1[>1>:])> print>(tuple1[::>->1>])> print>(tuple1[>2>:>4>])>

>

>

산출:

이 예에서는 인덱스 1부터 마지막 ​​요소까지 튜플을 분할했습니다. 두 번째 print 문에서는 역인덱싱을 사용하여 튜플을 인쇄했습니다. 그리고 세 번째 print 문에서는 인덱스 2부터 4까지 요소를 인쇄했습니다.

(1, 2, 3) (3, 2, 1, 0) (2, 3)>

메모: Python 슬라이싱에는 제공된 끝 인덱스가 포함되지 않습니다.

Python에서 튜플 삭제

이 예에서는 '를 사용하여 튜플을 삭제합니다. 델' 키워드 . 튜플을 삭제한 후 NameError가 발생하므로 출력은 오류 형식이 됩니다.

메모: 개별 튜플 요소를 제거하는 것은 불가능하지만 Del 키워드를 사용하여 전체 튜플을 삭제할 수 있습니다.

파이썬3




# Code for deleting a tuple> tuple3>=> (>0>,>1>)> del> tuple3> print>(tuple3)>

>

>

산출:

Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined>

Python 튜플의 길이 찾기

튜플의 길이를 찾으려면 Python의 len() 함수를 사용하고 튜플을 매개변수로 전달할 수 있습니다.

파이썬3




# Code for printing the length of a tuple> tuple2>=> (>'python'>,>'geek'>)> print>(>len>(tuple2))>

>

>

산출:

 2>

튜플을 사용한 여러 데이터 유형

Python의 튜플은 본질적으로 이질적입니다. 이는 튜플이 여러 데이터 유형을 가진 요소를 지원한다는 것을 의미합니다.

파이썬3

C# 스위치




# tuple with different datatypes> tuple_obj>=> (>'immutable'>,>True>,>23>)> print>(tuple_obj)>

>

>

출력 :

('immutable', True, 23)>

목록을 튜플로 변환

우리는 목록 Python에서는 tuple() 생성자를 사용하고 목록을 매개변수로 전달하여 튜플로 변환합니다.

파이썬3




# Code for converting a list and a string into a tuple> list1>=> [>0>,>1>,>2>]> print>(>tuple>(list1))> # string 'python'> print>(>tuple>(>'python'>))>

>

>

산출:

튜플은 목록, 문자열, 집합 또는 사전(키만 요소로 사용됨)일 수 있는 단일 매개변수를 취하여 이를 튜플로 변환합니다.

(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n')>

루프 안의 튜플

다음을 사용하여 단일 요소가 포함된 튜플을 만들 수도 있습니다. 루프 .

파이썬3




# python code for creating tuples in a loop> tup>=> (>'geek'>,)> # Number of time loop runs> n>=> 5> for> i>in> range>(>int>(n)):> >tup>=> (tup,)> >print>(tup)>

>

>

산출:

(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)>