python tuple tutorial with hands examples
예제를 통해이 자습서에서 Python의 Tuple 및 Tuple vs List의 개념을 살펴보십시오.
Python에는 아래와 같이 4 가지 컬렉션 데이터 유형이 있습니다.
- 명부
- 세트
- 사전
- 튜플
이 자습서에서는 Python의 Tuple과 다양한 작업에 대해 자세히 살펴 봅니다. 우리를 통해 읽는 것을 놓치지 마십시오 전체 범위의 Python 자습서 .
Python에서 튜플은 데이터 구조이며 한 번에 여러 데이터를 저장하는 데 사용되는 배열과 유사합니다. Java, C, C ++ 등과 같은 다른 프로그래밍 언어에 대한 경험이 있다면 배열 개념에 익숙 할 것이므로 튜플은 배열과 거의 동일합니다.
학습 내용 :
- 튜플이란?
- 튜플 대 목록
- 튜플 생성
- 튜플의 값에 액세스
- 네거티브 인덱싱
- 튜플 슬라이스
- 튜플 변경
- 목록을 튜플로 변환
- 튜플을 문자열로 변환
- Python에서 튜플 정렬
- 튜플 패킹 및 풀기
- NamedTuple
- 튜플 반환
- 튜플 인덱스가 범위를 벗어났습니다.
- 튜플 삭제
- 기본 튜플 연산
- 내장 튜플 메서드
- 결론
- 추천 도서
튜플이란?
튜플은 한 번에 여러 데이터를 저장하는 데 사용되는 데이터 구조입니다. 튜플에 저장된 데이터는 이기종이며 실제로 파이썬에서 튜플의 가장 강력한 기능입니다. 문자열, 정수 및 객체와 같은 다양한 데이터 유형의 여러 데이터를 단일 튜플에 저장할 수 있습니다.
튜플은 Python에서 변경할 수 없으므로 할당 된 데이터는 변경할 수 없습니다.
튜플 인덱스는 항상 0부터 시작하므로 튜플에 저장된 데이터는 인덱스를 사용하여 액세스됩니다. 각 요소는 튜플의 특정 위치를 가지며 이러한 모든 데이터는 색인의 도움으로 액세스됩니다.
튜플 대 목록
- Python의 목록은 변경 가능 (값 변경 가능) 반면 Tuple은 변경 불가능 (값 변경 불가능)
- 목록 데이터 구조와 비교할 때 튜플은 Python에서 더 적은 기능을 제공합니다.
- 튜플은 불변이므로 목록에 비해 튜플에서 반복하는 것이 더 빠르기 때문에 성능이 향상됩니다.
튜플 생성
튜플의 데이터는 쉼표로 구분되어 저장되며 대괄호 ()로 묶여 있습니다. 튜플은 다양한 유형의 항목을 원하는만큼 포함 할 수 있습니다.
통사론:
Tuple = (item1, item2, item3)
예 : 1
Tuple = ()
예 : 2
Tuple = (2, 4, 5.6)
예 : 3
Tuple = (2, 5, 4.5, “Hi”)
예 : 4
Tuple = (“Hi”, “Hello”, “Python”)
위의 예를 살펴보면 2와 5가 정수 유형이고 4.5가 float 유형이고 'Hi'가 문자열 유형 인 쉼표로 구분 된 다른 데이터 유형의 항목을 저장했습니다. 빈 튜플도 선언 할 수 있습니다.
무료 애니메이션을 온라인으로 볼 수있는 곳
튜플 내부에 목록이나 튜플을 선언 할 수도 있으며이를 중첩 튜플이라고합니다.
예 : 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
산출:
튜플의 내용은 다음과 같습니다. (‘Python’, (2, 4, 6), (4, 5.6,‘Hi’))
위의 예를 살펴보면 다른 튜플 안에 목록과 튜플을 선언했습니다.
튜플에 요소가 하나만 포함 된 경우 튜플으로 간주되지 않습니다. 튜플이라는 인터프리터를 지정하려면 후행 쉼표 여야합니다.
아래 예에서 보겠습니다.
예 : 6
my_tuple = (“Python”) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (10) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (“Python”, ) Print(“Type of my_tuple is:”, type(my_tuple))
산출:
my_tuple의 유형은 다음과 같습니다.
my_tuple의 유형은 다음과 같습니다.
my_tuple의 유형은 다음과 같습니다.
튜플의 값에 액세스
파이썬에서 튜플 안에있는 항목에 접근 할 수있는 방법은 여러 가지가 있습니다. 인덱스의 도움으로 튜플의 요소에 액세스 할 수 있습니다. 인덱스는 0에서 시작하고 인덱스는 항상 정수 여야합니다. float와 같은 정수 이외의 인덱스를 사용하면 TypeError가 발생합니다.
예 : 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
산출:
튜플 : (3. 5. 6.7,“Python”)
위의 예에서는 print 함수를 사용하여 튜플을 직접 인쇄했으며 튜플의 개별 요소에 액세스하지 않습니다.
튜플의 개별 요소에 액세스 해 보겠습니다.
예 : 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
산출:
튜플의 세 번째 요소 : 6.7
예 : 3
Tuple = (3, 5, 6.7, “Python”) print(“First element of the Tuple is:”, Tuple(0)) print(“Last element of the Tuple is:”, Tuple(3))
산출:
튜플의 첫 번째 요소는 다음과 같습니다. 3
튜플의 마지막 요소는 'Python'입니다.
중첩 인덱싱의 도움으로 중첩 된 튜플에있는 항목에 액세스 할 수도 있습니다.
예 : 4
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“First element of the tuple is:”, Tuple(0)(1)) print(“Items present inside another list or tuple is:”, Tuple(2)(1))
산출:
튜플의 첫 번째 요소는‘y’입니다.
다른 목록이나 튜플 안에있는 항목은 다음과 같습니다. 5.6
에 논의 된대로 Python 목록 가이드 중첩 된 목록의 값은 행렬 형태로 저장됩니다. 마찬가지로 Tuple도 동일한 개념을 따릅니다.
P y t h o n
2 4 6
4 5.6 안녕
따라서 Tuple (0) (1)에 액세스하려고하면 1을 가리킬 것입니다.성행 및 2nd열이므로 데이터는 'y'가됩니다.
마찬가지로 List (2) (1)에 액세스하려고하면 3을 가리 킵니다.rd행 및 2nd열이므로 데이터는 5.6이됩니다.
노트 :위의 개념은 중첩 인덱싱을 사용하여 튜플의 항목에 액세스하려고 할 때만 작동합니다.
네거티브 인덱싱
음수 인덱스를 사용하여 데이터에 액세스 할 수도 있습니다. 음수 인덱스는 항상 -1에서 시작하고 -1은 마지막 요소를 참조하고 -2는 마지막 두 번째 항목을 참조하므로 함께 나타납니다.
포지티브 인덱싱은 튜플의 항목을 순방향으로 반복하는 데 사용되는 반면, 네거티브 인덱싱은 역방향 방식을 따릅니다.
예 : 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
산출:
튜플의 마지막 요소 : 7.8
예 : 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
산출:
튜플의 첫 번째 요소는 다음과 같습니다. 3
튜플 슬라이스
슬라이스 연산자 (:)를 사용하여 튜플에서 다양한 요소에 액세스 할 수 있습니다.
예 : 1
Tuple = (1, 2.5, 3, 4.9, 5, 6, “Python”) print(“Elements from 2nd to 5th is: ”, Tuple(1:5)) print(“Elements beginning to 4th is: ”, Tuple(:-3)) print(“Elements 4th to end is: ”, Tuple(3:)) print(“Elements from start to end is: “, Tuple(:))
산출:
2에서 5까지의 요소 : (2.5, 3, 4.9, 5)
4 번째부터 시작하는 요소 : (1, 2.5, 3, 4.9)
네 번째에서 끝까지의 요소 : (4.9, 5, 6, 'Python')
처음부터 끝까지의 요소 : (1, 2.5, 3, 4.9, 5, 6, 'Python')
for 루프를 사용하여 튜플에있는 요소에 액세스 할 수도 있습니다.
예 : 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
산출:
1
두
3.5
5
'안녕'
튜플 변경
아시다시피, 튜플은 파이썬에서 변경할 수 없으므로 데이터는 변경할 수 없지만 목록은 변경할 수 있습니다. 따라서 튜플 (중첩 된 튜플) 내부에있는 목록을 변경할 수 있습니다.
예 : 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
산출:
원래 튜플 : (3, 4.5, (4, 5, 6))
업데이트 된 튜플 : (3, 4.5, (2, 5, 6))
튜플은 불변이므로 튜플에서 append () 또는 extend () 함수를 사용할 수 없습니다. 또한 제거 () 또는 팝 () 기능도 사용할 수 없습니다.
목록을 튜플로 변환
tuple ()이라는 Python 내장 함수를 사용하여 목록을 Tuple로 변환 할 수 있습니다.
통사론:
tuple(arg1)
Tuple () 함수는 하나의 인수를 허용하며 인수는 목록 변수 이름이어야합니다.
예 : 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
산출:
원본 목록 : (2, 4, 5.6, 'Hi')
튜플로 변환 후 : (2, 4, 5.6,“Hi”)
튜플을 문자열로 변환
두 가지 방법으로 Tuple을 String으로 변환 할 수도 있습니다.
접근 : 1
String의 join () 내장 메서드를 사용하여 Tuple을 String으로 변환 할 수 있습니다.
예 : 1
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
산출:
문자열로 변환하기 전 : (‘P’,‘y’,‘t’,‘h’,‘o’,‘n’)
문자열로 변환 한 후 :‘Python’
접근 : 2
functools의 reduce () 메서드는 Tuple을 String으로 변환하는 데 사용됩니다. 이 메서드는 튜플에있는 문자를 연결하고 문자열을 생성합니다.
예 : 2
import operator import functools def convertTupleToString(my_tuple): s = functools.reduce(operator.add, (my_tuple)) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
산출:
문자열로 변환하기 전 : (‘P’,‘y’,‘t’,‘h’,‘o’,‘n’)
문자열로 변환 한 후 :‘Python’
YouTube를 mp3로 변환하는 최고의 웹 사이트
노트 : Tuple에 문자가 포함 된 경우에만 Tuple을 String으로 변환 할 수 있습니다. 튜플에 integer 또는 float 유형의 항목이 포함되어 있으면 오류가 발생합니다.
예 : 3
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, 4, 6.5) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
산출:
문자열로 변환하기 전 : (‘P’,‘y’,‘t’,‘h’,‘o’,‘n’, 4, 6.5)
역 추적 (가장 최근 호출 마지막) :
파일“”, 줄 1, in
str =”.join (튜플)
TypeError : 시퀀스 항목 6 : 예상되는 str 인스턴스, int가 발견됨
Python에서 튜플 정렬
파이썬에는 튜플의 요소를 정렬하는 sorted ()라는 내장 함수가 있습니다.
통사론:
sorted(arg1)
sorted () 메서드는 변수 이름 인 하나의 인수를받습니다.
예 : 1
def sortTuple(my_tuple): sort = sorted(my_tuple) return sort Tuple = (2, 4, 6, 1, 4, 7.8, 2.7) print(“Before sorting the Tuple is:”, Tuple) sortedTuple = sortTuple(Tuple) print(“After sorting the Tuple is:”, sortedTuple)
산출:
튜플을 정렬하기 전 : (2, 4, 6, 1, 4, 7.8, 2.7)
튜플을 정렬 한 후 : (1, 2, 2.7, 4, 4, 6, 7.8)
튜플 패킹 및 풀기
Python은 압축 및 압축 해제라는 중요한 기능을 제공합니다. 패킹에서는 값을 튜플에 넣지 만, 언 패킹에서는 튜플에 저장된 모든 값을 변수로 추출합니다.
예 : 1
Tuple = (“John”, 23567, “Software Engineer”) (eName, eID, eTitle) = Tuple print(“Packed tuples is:”, Tuple) print(“Employee name is:”, eName) print(“Employee ID is:”, eID) print(“Employee Title is:”, eTitle)
산출:
패킹 된 튜플 : ( 'John', 23567, 'Software Engineer')
직원 이름 : John
직원 ID : 23567
직원 직함 : 소프트웨어 엔지니어
위의 경우 2 번 줄에서 눈치 채 셨다면, 튜플을 일부 변수로 풀고 있습니다.
노트 : 튜플의 항목 수는 압축을 푼 튜플의 변수 수와 같아야합니다.
NamedTuple
파이썬은 collection 모듈에서 오는 namedtuple ()이라는 특별한 유형의 함수를 제공합니다.
명명 된 튜플은 키와 값을 포함하는 사전과 유사합니다. 그러나 차이점은 딕셔너리에서는 키를 사용해서 만 값에 액세스 할 수 있지만 NamedTuple은 값과 키 모두에서 액세스를 지원한다는 것입니다.
nemaedtuple ()의 값에 접근 할 수있는 세 가지 방법이 있습니다.
- 색인으로 액세스
- 키로 액세스
- getattr () 메서드로 액세스
예 : 1
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) #Accessing using index print(“Employee name is:”, Emp(0)) # Accessing using key print(“Employee ID is:”, Emp.ID) #Access by getattr() method print(“Employee Title is:”, getattr(Emp, ‘Title’))
산출:
직원 이름 : John
직원 ID : 23567
직원 직함 : 소프트웨어 엔지니어
또한 namedtuples () 함수에 대해 세 가지 변환 작업이 지원됩니다.
- _하다()
- _asdict ()
- ** (이중 시작) 연산자
예 : 2
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) Emp1 = (‘Mathew’, ‘45783’, “Software Developer”) Emp2 = {‘name’ : “Helen”, ‘ID’ : 56873, ‘Title’ : “Test Lead”} #Using _make() print(Employee._make(Emp1)) #Using _asdict() print(Emp._asdict()) #Using ** operator print(Employee(**Emp2))
산출:
직원 (이름 =’Mathew’, ID =’45783’, 직함 =’소프트웨어 개발자’)
OrderedDict (((‘name’,‘John’), (‘ID’,‘23567’), (‘Title’,‘Software Engineer’)))
직원 (name =’Helen’, ID = 56873, Title =’Test Lead’)
튜플 반환
return 문을 사용하여 값 또는 튜플 모음을 반환 할 수 있습니다.
예 : 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
산출:
직원 세부 정보 : (‘John’, 23567,‘Software Engineer’)
튜플 인덱스가 범위를 벗어났습니다.
범위를 벗어난 인덱스는 튜플 또는 목록으로 작업하는 동안 발생하는 일반적인 예외 중 하나입니다. 이 예외는 일반적으로 튜플 범위 밖에있는 항목에 액세스하려고 할 때 발생합니다. 즉, 튜플에 3 개의 요소 만 포함되어 있고 4 개의 요소에 액세스하려고하면일요소는 범위 예외에서 튜플 인덱스를 가져옵니다.
예 : 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
산출:
역 추적 (가장 최근 호출 마지막) :
파일“”, 줄 1, in
튜플 (4)
IndexError : 튜플 인덱스가 범위를 벗어났습니다.
위의 예에서 관찰하면 5에있는 요소에 액세스하려고합니다.일위치이지만 거기에 요소가 없으므로 튜플 인덱스가 범위를 벗어납니다.
튜플 삭제
튜플은 불변이므로 튜플에서 개별 요소를 삭제할 수 없습니다. 튜플에서 요소를 삭제하는 유일한 방법은 전체 튜플을 삭제하는 것입니다.
Python은 전체 튜플을 삭제하는 내장 함수 'del'을 제공합니다.
예 : 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
산출:
튜플을 삭제하기 전 : (2, 4.5,“Python”)
역 추적 (가장 최근 호출 마지막) :
파일“”, 줄 1, in
print ( '튜플 삭제 후 :', 튜플)
NameError :‘Tuple’이름이 정의되지 않았습니다.
위의 예에서 튜플을 삭제 한 후 튜플을 인쇄하려고했지만 더 이상 존재하지 않습니다. 따라서 NameError가 발생합니다.
기본 튜플 연산
튜플을 사용하여 연결, 반복 등과 같은 몇 가지 기본 작업을 수행 할 수 있습니다.
몇 가지 예를 통해 모든 기본 작업을 살펴 보겠습니다.
예 : 1 – 튜플 연결
'+'연산자를 사용하여 튜플을 연결할 수 있습니다.
Tuple1 = (3, 5, “Hi”) Tuple2 = (5.6, 1, “Python”) print(“Tuple 1 is:”, Tuple1) print(“Tuple 2 is”, Tuple2) print(“Concatenation of Tuple 1 and Tuple 2 is:”, Tuple1+Tuple2)
산출:
튜플 1은 : (3, 5,“Hi”)
튜플 2는 다음과 같습니다. (5.6, 1,“Python”)
튜플 1과 튜플 2의 연결은 다음과 같습니다. (3, 5,‘Hi’, 5.6, 1,‘Python’)
예 : 2 – 튜플 반복
튜플 반복은 튜플의 요소를 여러 번 반복하는 것을 의미합니다. 이것은‘*’연산자를 사용하여 수행 할 수 있습니다.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
산출:
경험이 풍부한 웹 서비스 인터뷰 질문 및 답변
반복 전 튜플은 다음과 같습니다. (3, 1, 5.6,“Python”)
반복 후 튜플은 다음과 같습니다. (3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python')
예 : 3 – 멤버십 운영자
'in'연산자를 사용하여 특정 요소가 튜플에 있는지 확인할 수 있습니다. 요소가 튜플에 있으면 부울 값 True를 반환하고 요소가 없으면 False를 반환합니다.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
산출:
튜플에 요소 2가 있는지 여부 : True
내장 튜플 메서드
Python은 아래 표에 설명 된대로 튜플에 대한 몇 가지 내장 메서드를 제공합니다.
행동 양식 | 기술 |
---|---|
어떤() | 튜플에 요소가 있으면 True를 반환하고 튜플이 비어 있으면 False를 반환합니다. |
최소 () | 튜플의 가장 작은 요소 (Integer)를 반환합니다. |
max () | 튜플의 가장 큰 요소 (Integer)를 반환합니다. |
len () | 튜플의 길이를 반환합니다. |
정렬 됨 () | 튜플의 모든 요소를 정렬하는 데 사용됩니다. |
합집합() | 튜플의 모든 요소 (정수)의 합계를 반환합니다. |
예제를 통해 모든 방법을 사용하는 방법을 살펴 보겠습니다.
예 : 1 – any () 메서드
Tuple = (3, 1, 4.5) print(“Is there any elements present in Tuple:”, any(Tuple)) Tuple1 = () print(“Is there any elements present in Tuple1:”, any(Tuple1))
산출:
Tuple : True에 요소가 있습니까?
Tuple1 : False에있는 요소가 있습니까?
예 : 2 – min () 메서드
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
산출:
튜플에서 가장 작은 요소 : 3
예 : 3 – max () 메서드
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
산출:
튜플에서 가장 큰 요소는 다음과 같습니다. 8
예 : 4 – len () 메서드
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
산출:
튜플의 길이 : 4
예 : 5 – sorted () 메서드
Tuple = (2, 3.5, 1, 6, 4) print(“Sorted integer is:”, sorted(Tuple)) Tuple1 = (‘e’, ‘a’, ‘u’, ‘o’, ‘i’) print(“Sorted character is:”, sorted(Tuple1))
산출:
정렬 된 정수 : (1, 2, 3.5, 4, 6)
정렬 된 문자 : (‘a’,‘e’,‘i’,‘o’,‘u’)
예 : 6 – sum () 메서드
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
산출:
튜플에있는 모든 숫자의 합은 다음과 같습니다. 22.6
결론
튜플은 Python의 데이터 유형 중 하나이며 데이터 구조라고도합니다.
Python Tuple은 하나의 단일 변수에 모든 데이터 유형의 많은 값을 저장하는 데 사용됩니다. 튜플은 불변이므로 튜플에서 값에 액세스하는 성능이 향상됩니다.
튜플 작업을 할 때 모든 튜플 내장 메서드를 기억해야합니다.
파이썬에서 튜플의 개념에 대한 엄청난 지식을 얻었기를 바랍니다 !!