Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 튜플과 목록의 차이점과 유사점은 무엇입니까?

<시간/>

List와 Tuple은 모두 Python의 시퀀스 데이터 유형이라고 합니다. 두 유형의 개체는 반드시 같은 유형일 필요는 없는 쉼표로 구분된 항목 모음입니다.

유사성

연결, 반복, 인덱싱 및 슬라이싱은 두 유형의 개체에 대해 수행할 수 있습니다.

>>> #list operations
>>> L1=[1,2,3]
>>> L2=[4,5,6]
>>> #concatenation
>>> L3=L1+L2
>>> L3
[1, 2, 3, 4, 5, 6]
>>> #repetition
>>> L1*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> #indexing
>>> L3[4]
5
>>> #slicing
>>> L3[2:4]
[3, 4]


>>> #tuple operations
>>> T1=(1,2,3)
>>> T2=(4,5,6)
>>> #concatenation
>>> T3=T1+T2
>>> T3
(1, 2, 3, 4, 5, 6)
>>> #repetition
>>> T1*3
(1, 2, 3, 1, 2, 3, 1, 2, 3)
>>> #indexing
>>> T3[4]
5
>>> #slicing
>>> T3[2:4]
(3, 4)

다음 내장 함수는 두 유형 모두에 공통적입니다.

len() - 순서대로 요소의 수를 반환

>>> L1=[45,32,16,72,24]
>>> len(L1)
5
>>> T1=(45,32,16,72,24)
>>> len(T3)

최대() - 가장 큰 값을 가진 요소를 반환합니다.

>>> max(L1)
72
>>> max(T1)
72

분() - 가장 작은 값을 가진 요소를 반환합니다.

>>> max(T1)
72
>>> min(L1)
16
>>> min(T1)
16

차이점

목록 개체는 변경 가능합니다. 따라서 목록에서 항목을 추가, 업데이트 또는 삭제할 수 있습니다.

>>> L1=[45,32,16,72,24]
>>> L1.append(56)
>>> L1
[45, 32, 16, 72, 24, 56]
>>> L1.insert(4,10) #insert 10 at 4th index
>>> L1
[45, 32, 16, 72, 10, 24, 56]
>>> L1.remove(16)
>>> L1
[45, 32, 72, 10, 24, 56]
>>> L1[2]=100 #update
>>> L1
[45, 32, 100, 10, 24, 56]

튜플은 변경할 수 없는 객체입니다. 수정을 시도하는 모든 작업은 AttributeError

를 발생시킵니다.
T1.append(56)
AttributeError: 'tuple' object has no attribute 'append'
>>> T1.remove(16)
AttributeError: 'tuple' object has no attribute 'remove'
>>> T1[2]=100
TypeError: 'tuple' object does not support item assignment