>  기사  >  백엔드 개발  >  Python 튜플 작업에 대한 자세한 설명

Python 튜플 작업에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-13 16:22:592766검색

1. 튜플 만들기

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

빈 튜플 만들기

tup1 = ();

튜플에 요소가 하나만 포함된 경우 모호함을 없애기 위해 요소 뒤에 쉼표를 추가해야 합니다.

tup1 = (50,);

튜플은 문자열과 유사합니다. 아래 첨자 인덱스는 0부터 시작하며 가로채기, 결합 등이 가능합니다.
2. 튜플에 액세스
다음 예와 같이 튜플은 아래 첨자 인덱스를 사용하여 튜플의 값에 액세스할 수 있습니다.

#!/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]

3. 튜플의 요소 값을 수정합니다. 🎜> 수정은 허용되지 않지만 다음 예와 같이 튜플을 연결하고 결합할 수 있습니다.

#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# 以下修改元组元素操作是非法的。
# tup1[0] = 100;
# 创建一个新的元组
tup3 = tup1 + tup2;
print tup3;
#以上实例输出结果:
#(12, 34.56, 'abc', 'xyz')

4. 튜플 삭제

튜플에 포함된 요소 값은 삭제할 수 없습니다. 그러나 다음 예제와 같이 del 문을 사용하여 전체 튜플을 삭제할 수 있습니다.

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : "
print tup;

#위 예제 튜플이 삭제된 후 출력 변수에는 예외 정보가 포함되며 출력은 다음과 같습니다.

#('physics', 'chemistry', 1997, 2000)
#tup 삭제 후 :
#Traceback(가장 최근 호출 마지막):
# 파일 "test.py", 9행 , 4225fa317875f3e92281a7b1a5733569
# print tup;
#NameError: name 'tup'이 정의되지 않았습니다.[/code]
5. 튜플 연산자
문자열과 마찬가지로 튜플도 + 및 * 표지판. 이는 이들을 결합하고 복사하여 새로운 튜플을 생성할 수 있음을 의미합니다.


6. 튜플 인덱스, 가로채기

튜플도 시퀀스이기 때문에 튜플의 지정된 위치에 있는 요소에 액세스하거나 인덱스 A를 가로챌 수 있습니다.
튜플:

L = ('spam', 'Spam', 'SPAM!')

7. 닫는 구분 기호 없음

쉼표로 구분된 서명되지 않은 객체. 기본값은 다음 예와 같이 튜플입니다.

#!/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

8. 튜플 내장 함수

파이썬 튜플에는 다음 내장 함수가 포함됩니다
1. 두 개의 Tuple 요소를 비교합니다.
2. len(tuple): 튜플 요소 수를 계산합니다.
3.max(tuple): 튜플에 있는 요소의 최대값을 반환합니다.
4. min(tuple): 튜플에 있는 요소의 최소값을 반환합니다.
5. tuple(seq): 목록을 튜플로 변환합니다.


9. 또 다른 해석

튜플은 리스트와 매우 유사하지만, 일단 초기화되면 튜플은 수정할 수 없습니다. 나열됨:

>>> classmates = ('Michael', 'Bob', 'Tracy')

이제 클래스 튜플은 변경할 수 없으며 add() 및 insert()와 같은 메서드가 없습니다. 요소를 얻는 다른 방법은 일반적으로 클래스[0] 및 클래스[-1]을 사용할 수 있지만 다른 요소에 할당할 수는 없습니다.

불변 튜플의 의미는 무엇인가요? 튜플은 불변이기 때문에 코드가 더 안전합니다. 가능하다면 목록 대신 튜플을 사용하세요.
튜플의 트랩: 튜플을 정의할 때 튜플의 요소는 정의 시 결정되어야 합니다. 예를 들어:

>>> t = (1, 2)
>>> t
(1, 2)

빈 튜플을 정의하려면 다음과 같이 작성할 수 있습니다. ):

>>> t = ()
>>> t
()

그러나 요소가 1개인 튜플을 정의하려면 다음과 같이 정의하면 됩니다.

>>> t = (1)
>>> t
1

는 튜플이 아니라 숫자 1을 정의합니다! 왜냐하면 괄호()는 수학 공식에서 튜플과 괄호를 모두 나타낼 수 있어 모호성이 생기기 때문입니다. 따라서 Python에서는 이 경우 괄호에 따라 계산이 이루어지며 계산 결과는 당연히 1이 된다고 규정하고 있습니다.

따라서 모호함을 없애기 위해 요소가 1개만 있는 튜플을 정의할 때는 쉼표를 추가해야 합니다.

>>> t = (1,)
>>> t
(1,)

Python은 요소가 1개뿐인 튜플을 표시할 때도 쉼표를 추가하여 괄호로 오해되는 것을 방지합니다. 수학적 계산의 의미.

"변수" 튜플을 살펴보겠습니다:

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

이 튜플은 정의될 때 'a', 'b' 및 목록의 세 가지 요소를 갖습니다. 튜플이 일단 정의되면 불변이라는 뜻이 아닌가요? 나중에 왜 바뀌었나요?

걱정하지 마세요. 튜플이 정의되었을 때 튜플에 포함된 세 가지 요소를 살펴보겠습니다.

Python 元组(Tuple)操作详解

목록 요소 ' A'와 'B'를 'X'와 'Y'로 변경한 후 튜플은 다음과 같습니다.

Python 元组(Tuple)操作详解

표면적으로는 튜플의 요소가 실제로 변경되었지만 실제로 변경된 것은 튜플의 요소가 아니라 목록의 요소입니다. 처음에 튜플이 가리키는 목록은 다른 목록으로 변경되지 않았습니다. 따라서 소위 튜플의 "변경되지 않음"은 튜플의 각 요소가 결코 변경되지 않음을 의미합니다. 즉, 'a'를 가리키면 'b'를 가리키도록 변경할 수 없지만, 가리키는 목록은 가변적입니다!

"포인터는 변하지 않는다"를 이해한 후 내용이 변하지 않는 튜플을 어떻게 생성합니까? 그런 다음 튜플 자체의 각 요소가 변경될 수 없도록 해야 합니다.

파이썬 튜플 연산에 대한 더 자세한 설명과 관련 글은 PHP 중국어 홈페이지를 주목해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.