Python-튜플
튜플은 순서가 지정되고 변경 불가능한 객체의 모음입니다. 튜플은 목록과 마찬가지로 시퀀스입니다. 튜플과 목록의 차이점은 튜플은 목록과 달리 변경할 수 없으며 튜플은 괄호를 사용하는 반면 목록은 대괄호를 사용한다는 것입니다.
튜플을 만드는 것은 다른 쉼표로 구분 된 값을 입력하는 것만 큼 간단합니다. 선택적으로 이러한 쉼표로 구분 된 값을 괄호 안에 넣을 수도 있습니다. 예를 들면-
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
빈 튜플은 아무것도 포함하지 않는 두 개의 괄호로 작성됩니다.
tup1 = ();
단일 값을 포함하는 튜플을 작성하려면 값이 하나만 있더라도 쉼표를 포함해야합니다.
tup1 = (50,);
문자열 인덱스와 마찬가지로 튜플 인덱스는 0에서 시작하며 슬라이스, 연결 등을 할 수 있습니다.
튜플의 값에 액세스
튜플의 값에 액세스하려면 해당 인덱스에서 사용할 수있는 값을 얻기 위해 인덱스와 함께 분할하기 위해 대괄호를 사용합니다. 예를 들면-
#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0];
print "tup2[1:5]: ", tup2[1:5];
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]
튜플 업데이트
튜플은 불변이므로 튜플 요소의 값을 업데이트하거나 변경할 수 없습니다. 다음 예제가 보여주는 것처럼 기존 튜플의 일부를 가져와 새 튜플을 만들 수 있습니다.
#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2;
print tup3;
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
(12, 34.56, 'abc', 'xyz')
튜플 요소 삭제
개별 튜플 요소를 제거 할 수 없습니다. 물론 원치 않는 요소를 버리고 또 다른 튜플을 모으는 것은 잘못된 것이 아닙니다.
전체 튜플을 명시 적으로 제거하려면 del성명서. 예를 들면-
#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : ";
print tup;
다음과 같은 결과가 생성됩니다. 예외가 발생했습니다.del tup 튜플이 더 이상 존재하지 않습니다-
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
기본 튜플 연산
튜플은 문자열처럼 + 및 * 연산자에 응답합니다. 결과가 문자열이 아니라 새로운 튜플이라는 점을 제외하면 여기에서도 연결과 반복을 의미합니다.
사실, 튜플은 이전 장에서 문자열에 대해 사용한 모든 일반적인 시퀀스 연산에 응답합니다.
파이썬 표현식 | 결과 | 기술 |
---|---|---|
len ((1, 2, 3)) | 삼 | 길이 |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 연쇄 |
( '안녕!',) * 4 | ( '안녕!', '안녕!', '안녕!', '안녕!') | 되풀이 |
3 인치 (1, 2, 3) | 진실 | 멤버십 |
x in (1, 2, 3) : print x, | 1 2 3 | 되풀이 |
인덱싱, 슬라이싱 및 매트릭스
튜플은 시퀀스이기 때문에 인덱싱 및 슬라이싱은 튜플에 대해 문자열과 동일한 방식으로 작동합니다. 다음 입력을 가정-
L = ('spam', 'Spam', 'SPAM!')
파이썬 표현식 | 결과 | 기술 |
---|---|---|
L [2] | '스팸!' | 오프셋은 0에서 시작합니다. |
L [-2] | '스팸' | 음수 : 오른쪽부터 계산 |
L [1 :] | [ '스팸', '스팸!'] | 가져 오기 섹션 분할 |
둘러싸는 구분 기호 없음
쉼표로 구분되고 식별 기호없이 작성된 여러 개체 집합, 즉, 목록의 대괄호, 튜플의 괄호 등은이 짧은 예제에 표시된대로 기본적으로 튜플입니다.
#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;
위의 코드가 실행되면 다음과 같은 결과가 생성됩니다.
abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
내장 튜플 함수
파이썬에는 다음과 같은 튜플 함수가 포함되어 있습니다.
Sr. 아니. | 설명 기능 |
---|---|
1 | cmp (tuple1, tuple2) 두 튜플의 요소를 비교합니다. |
2 | len (튜플) 튜플의 총 길이를 제공합니다. |
삼 | 최대 (튜플) 최대 값을 가진 튜플에서 항목을 반환합니다. |
4 | 최소 (튜플) 최소값으로 튜플에서 항목을 반환합니다. |
5 | 튜플 (seq) 목록을 튜플로 변환합니다. |