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