튜플
튜플은 변경할 수 없는 목록입니다. 튜플은 일단 생성되면 어떤 식으로든 수정할 수 없습니다.
튜플이 필요한 이유는 무엇입니까?
- 변경(의도적 또는 우발적)으로부터 데이터를 보호하는 경우.
- 튜플은 메모리 공간을 덜 차지하고 목록보다 빠릅니다.
- 함수에서 여러 값을 반환합니다.
- 튜플은 사전 키로 사용할 수 있습니다(나중에 자세히 설명).
튜플 만들기
1가지 방법: 목록과 비슷하지만 괄호가 있습니다.
<테이블>
<몸>
1
2
3
|
= (1,2,3,4,5)
print(type(a)) # 클래스 '튜플'
인쇄(a) # (1, 2, 3, 4, 5)
|
테이블>
2가지 방법: tuple() 함수 사용
<테이블>
<몸>
1
2
삼
|
b = 튜플((1,2,3,4,5))
print(type(b)) # <클래스 '튜플'>
인쇄(b) # (1, 2, 3, 4, 5)
|
테이블>
기억해야 합니다!
<올>
튜플은 변경할 수 없는 목록입니다.
튜플의 요소는 다른 유형일 수 있습니다.
tuple() 함수를 사용하거나 괄호 안에 요소를 나열하여 튜플을 만들 수 있습니다.
|
튜플 기능
1) 괄호를 사용하지 않고 튜플에 값을 할당할 수 있습니다./
예를 들어 다음과 같은 튜플을 만들 수 있습니다.
<테이블>
<몸>
1
2
삼
|
a = 1,2,3,4,5
print(a[3]) # 4 튜플의 요소는 목록의 요소와 같은 방식으로 액세스할 수 있습니다.
# 대괄호 안에 요소 인덱스를 지정하여.
|
테이블>
2) 단일 요소를 포함하는 튜플을 선언하려면 뒤에 쉼표를 사용해야 합니다.
<테이블>
<몸>
1
2
삼
4
|
a = 'a'
b = 'b',
print(type(b)) # <클래스 '튜플'>
print(type(a)) # <class 'str'>
|
테이블>
3) 튜플 요소의 값을 개별 변수에 할당할 수 있습니다.
<테이블>
<몸>
1
2
3
|
my_tuple = (1, 2, 3, 4, 5)
a, b, c, d, e = my_tuple
인쇄(c) #3
|
테이블>
밑줄 _ 는 불필요한 변수로 사용될 수 있습니다.
<테이블>
<몸>
1
2
3
|
my_tuple = (1, 2, 3)
a, _, _ = my_tuple
인쇄(a) #1
|
테이블>
변수의 수는 숫자와 일치해야 합니다. 튜플의 요소 수!
4) 튜플은 다양한 중첩 요소를 포함할 수 있습니다. 이 경우 중첩된 요소를 참조할 때 추가 대괄호를 사용해야 합니다.
<테이블>
<몸>
1
2
|
my_tuple = (('a', 'b', 'c'), [1, 2], ((1, 'a') ), ('b', 'c')))
print(my_tuple[2][1]) # ('b', 'c')
|
테이블>
|
요소 참조. 중첩 튜플
튜플은 다른 튜플을 요소로 포함할 수 있습니다. 또한 목록, 문자열 등을 튜플의 요소로 사용할 수 있습니다.
요소에 액세스하는 것은 목록의 요소에 액세스하는 것과 유사하며 대괄호 안에 요소의 인덱스를 지정합니다. 인덱싱은 0부터 시작합니다.
중첩된 요소를 참조할 때는 추가 대괄호를 사용해야 합니다.
my_tuple = (('a', 'b', 'c'), [1, 2], ((1, 'a') ), ('b', 'c')))
print(my_tuple[2][1]) # ('b', 'c')
|
튜플 비교
튜플을 비교할 때:
- 숫자는 값으로 비교됩니다.
- 사전식 순서의 문자열;
- 동일한 위치의 요소가 동일한 경우 다음 요소를 비교합니다.
- 요소 비교는 첫 번째 부등식까지 발생합니다.
- 비교할 때 요소는 동일한 유형으로 캐스팅되어야 합니다(숫자와 문자열을 비교할 수 없음).
예시
<테이블>
<몸>
1
2
삼
4
5
6
7
8
9
10
열하나
12
|
A=4
B=8
C = 'a',
D = 'z',
E = (14, '최대', '최소')
F = (14, '최대', '최소')
케이=999
print(A < B) # 참
print(C F) # 참
print(K < F) # 거짓
print(C < K) # 유형 오류: '<' 지원되지 않음
# 'str' 인스턴스 사이 및 '정수'
|
테이블>
|
조각
슬라이싱은 목록과 유사하게 수행할 수 있습니다.
인덱스 또는 슬라이스( 슬라이스 )로 요소를 취함으로써 어떤 식으로든 튜플을 변경하지 않고 추가 사용(예: 인쇄용)을 위해 일부를 복사하기만 했음을 기억해야 합니다. , 일부 계산 등 .p.).
슬라이스 구문
my_tuple[start:stop:step] # 시작, 중지 및 단계
|
튜플 연결
튜플을 연결하여 새 객체를 생성할 수 있습니다(연결, 문자열과 유사).
<테이블>
<몸>
1
2
삼
4
|
x = (1,2,3,4)
y = (5,6,7,8)
z = x + y
인쇄(z) # (1, 2, 3, 4, 5, 6, 7, 8)
|
테이블>
곱셈 연산 중에는 튜플이 여러 번 반복됩니다(문자열 곱셈과 유사).
<테이블>
<몸>
1
2
3
|
x = (1,2,3,4)
z = x*2
인쇄(z) # (1, 2, 3, 4, 1, 2, 3, 4)
|
테이블>
튜플 제거
튜플 작업 및 메서드는 목록 작업 및 메서드와 유사합니다. 튜플의 요소를 변경하는 것은 제외합니다.
튜플 에 포함된 요소는 불변성으로 인해 추가하거나 제거할 수 없습니다. 그러나 튜플 자체는 del 연산자를 사용하여 삭제할 수 있습니다.
<테이블>
<몸>
1
2
|
학생 = (2007, '이반', '이바노프', '9-A', 거짓)
델 학생
|
테이블>
|
튜플 작업 방법
튜플을 사용하는 방법은 튜플을 변경하는 방법을 제외하고 목록을 사용하는 방법과 유사합니다. 이러한 메서드는 튜플의 불변성으로 인해 사용할 수 없습니다. 새 튜플을 생성하여 적용할 수 있습니다.
튜플 정렬 예시
sorted() 함수를 사용하여 튜플을 쉽게 정렬할 수 있습니다.
<테이블>
<몸>
1
2
삼
4
|
a = (5, 3, 2, 1, 4)
print(sorted(a)) # [1, 2, 3, 4, 5]
a = 튜플(정렬된(a))
인쇄(a) # (1, 2, 3, 4, 5)
|
테이블>
append() , extend() , remove() 와 같은 메서드는 튜플 및 팝() .
|