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)

목록을 튜플로 변환합니다.