파이썬 튜토리얼-데이터 타입 튜플
이 섹션에서는 튜플을 만들고 사용하는 방법을 소개합니다.
튜플은 튜플을 변경할 수 없지만 목록을 변경할 수 있다는 차이점이있는 목록과 비슷합니다.
리스트보다 튜플의 장점
- 튜플은 요소의 데이터 유형이 다른 경우 주로 사용되는 반면 목록은 요소의 데이터 유형이 같은 경우 사용됩니다.
- 튜플을 업데이트 할 수 없으므로 튜플을 통한 순회가 더 빠릅니다.
- 터플의 불변 요소를 사전의 키로 사용할 수 있습니다. 이것은 목록으로 수행 할 수 없습니다.
- 튜플은 변경 불가능한 데이터 보호를 보장합니다.
튜플 만들기
괄호()
를 사용하여 파이썬 튜플을 정의하고 쉼표,
로 요소를 분리 할 수 있습니다. 튜플은 모든 데이터 유형의 요소를 가질 수 있습니다.
>>> x = (3, 'pink', 3+8j)
>>> print('x[0] =', x[0])
x[0] = 3
>>> print('x[0:2] =', x[0:2])
x[0:2] = (3, 'pink')
>>> x[0] = 4
TypeError: 'tuple' object does not support item assignment
튜플에 하나의 요소 만 포함 된 경우 (예 : 요소가 문자열 데이터 유형 인 경우) 튜플은 튜플로 간주되지 않고 문자열로 간주됩니다. 아래 예를 참조하십시오.
>>> x = ("Python")
>>> print(type(x))
<class 'str'>
여기에서 x
의 데이터 타입은 tuple
이 아니라 str
이라는 것을 알 수 있습니다. 튜플을 만들기 위해 후행 쉼표가 다음과 같이 사용됩니다.
>>> x = "Python",
>>> print(type(x))
<class 'tuple'>
튜플 요소에 액세스
튜플의 요소는 다음 방법 중 하나를 사용하여 액세스 할 수 있습니다.
인덱스
인덱스 연산자[]
를 사용하여 튜플의 요소에 액세스 할 수 있습니다. 튜플의 인덱스는 0부터 시작합니다. 인덱스가 범위 내에 있지 않으면 (튜플의 해당 인덱스에 정의되지 않은 항목)IndexError
가 나타납니다. 여기서 index 는 정수 여야하며, 그렇지 않으면 TypeError
가 발생합니다.
>>> x = (3, 'pink', 3+8j)
>>> print(x[0])
3
>>> print(x[2])
(3+8j)
네거티브 인덱스
Python 목록과 동일하게 음수 인덱스를 사용하여 튜플 요소에 액세스 할 수 있습니다.
>>> l = (2, 4, 6, 8, 10)
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6
일부분
슬라이싱 연산자:
는 튜플에서 다양한 요소를 추출하는 데 사용됩니다.
>>> l = (2, 4, 6, 8, 10)
>>> print(l[1:3]) #prints from location 1 to 3
(4, 6)
>>> print(l[:2]) #prints from the beginning to location 2
(2, 4)
>>> print(l[2:]) #prints elements from location 2 onwards
(6, 8, 10)
>>> print(l[:]) #prints entire list
(2, 4, 6, 8, 10)
튜플 연결
+
operator를 사용하여 두 개의 튜플을 연결할 수 있습니다.
>>> l = (2, 4, 6, 8, 10)
>>> print(l + (12, 14, 16)
(2, 4, 6, 8, 10, 12, 14, 16)
튜플 삭제
튜플은 변경할 수 없으므로 튜플의 요소를 삭제할 수 없습니다. 그러나 del
키워드를 사용하여 전체 튜플을 삭제할 수 있습니다.
l = (2, 4, 6, 8, 10)
del l
파이썬 튜플 방법
튜플은 불변이므로 튜플에는 두 가지 방법 만 있습니다.
행동 양식 | 기술 |
---|---|
카운트 (a) |
a 와 같은 요소 수를 반환하는 데 사용됩니다. |
인덱스 (a) |
a 와 같은 첫 번째 요소의 인덱스를 반환하는 데 사용됩니다 |
튜플 내장 함수 :
다음은 다른 작업을 수행하기 위해 튜플에 적용 할 수있는 튜플 내장 함수입니다.
기능 | 기술 |
---|---|
all() |
튜플의 모든 요소가 ‘참’이면 ‘참’을 반환합니다. 또한 튜플이 비어 있으면 True 를 반환합니다. |
any() |
튜플 요소 중 하나라도 True 이면 True 를 반환합니다. 튜플이 비어 있으면 False 를 반환합니다. |
enumerate() |
튜플의 모든 요소의 인덱스와 값을 튜플로 반환합니다. 열거 객체를 돌려줍니다. |
len() |
튜플의 항목 수 또는 튜플의 길이를 반환합니다. |
튜플() |
시퀀스 (튜플, 세트, 문자열, 사전)를 튜플로 변환합니다. |
max() |
튜플의 최대 값을 반환합니다. |
분() |
튜플의 최소값을 반환합니다. |
정렬() |
정렬 된 튜플을 반환합니다. |
sum() |
튜플의 모든 요소의 합을 반환합니다. |
튜플 회원 확인
in
키워드는 항목이 튜플의 멤버인지 여부를 확인합니다. 아래 코드 예를 참조하십시오.
>>> l = (2, 4, 6, 8, 10)
>>> print(5 in l)
False
>>> print(2 in l
True
튜플을 반복
for
loop를 사용하여 튜플을 반복 할 수 있습니다.
l = (2, 4, 6, 8, 10)
for i in l:
print(i)
2
4
6
8
10
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook