Python의 튜플

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

Python 튜플 만들기

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

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

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

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

파이썬3




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

산출:

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

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

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

파이썬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




# 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',),),),),),) 


마음에 드실지도 몰라요