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