[TIL] 파이썬 List, Tuple, Set
다양한 값을 덩어리로 묶는데 사용되는 컨테이너 데이터 타입인 'Collections' 안에는 List, Tuple, Set
등이 있다. 오늘은 이 세가지의 차이점을 복습해보겠다.
List
a = [1, 2, 3, 4, 5] 대괄호를 사용한다.
1) list는 mutable type으로 수정 가능하며 값 중복을 허용한다.
2) 여러개의 list는 기호 연산자 +를 통해 하나의 list로 합칠 수 있다.
3) list는 내장함수 del을 사용해 삭제할 수 있다.
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
print(a+b)
-> [1, 2, 3, 4, 5, 3, 4, 5, 6, 7]
#두 리스트에 있는 3,4,5가 중복되어도 제거없이 모두 출력된다.
a[2] = "짝"
print(a)
-> [1, 2, '짝', 4, 5]
* index = 0번째, 1번째, 2번째, 3번째, 4번째. 여기서 '짝'의 index = 2 이다.
#리스트 안 데이터를 수정할 수 있다. 데이터가 교체된다.
#데이터 순서를 인덱스라고 부르는데, 인덱스는 0부터 시작한다.
del a[2]
-> [1, 2, 4, 5]
#리스트 데이터를 수정하거나 제거할 수 있다. index= 2인 '짝'이 삭제되었다.
Tuple
a = (1, 2, 3, 4, 5) 소괄호를 사용한다.
1) tuple은 immutable type으로 수정이 불가능하며, 값 중복을 허용한다.
2) 여러개의 tuple은 기호 연산자 +를 통해 하나의 tuple로 합칠 수 있다.
3) tuple은 데이터를 수정하거나 del을 사용해 데이터를 삭제할 수 없다.
a = (1, 2, 3, 4, 5)
b = (3, 4, 5, 6, 7)
print(a+b)
-> (1, 2, 3, 4, 5, 3, 4, 5, 6, 7)
#두 튜플에 있는 3,4,5가 중복되어도 제거없이 모두 출력된다.
a[2] = "튜플"
print(a)
-> TypeError: 'tuple' object does not support item assignment
#튜플은 데이터를 수정할 수 없다.
del a[2]
print(a)
-> TypeError: 'tuple' object doesn't support item deletion
#튜플은 데이터를 삭제할 수 없다.
Set
a = {1, 2, 3, 4, 5} 중괄호를 사용한다.
1) set은 값 중복을 허용하지 않는다.
2) 데이터 값의 순서가 없어 index로 접근할 수 없다.
a = {}
type(a)
-> dict
dict도 중괄호를 사용하기 때문에, set은 {}로만 생성되지 않는다.
a = set()
type(a)
-> set
* 물론 set 설정 없이 a = {1,2,3} 데이터 값을 넣어 만들 수 있다.
a = {1, 3, 4, 3, 3, 3, 3, 3, 4, 5, 6, 7}
print(a)
-> {1, 3, 4, 5, 6, 7}
# 중복값인 3, 4가 각각 하나씩만 남고 삭제되었다.
a[2]=10
print(a)
-> TypeError: 'set' object does not support item assignment
del a[2]
print(a)
-> TypeError: 'set' object does not support item assignment
# 인덱스로 접근할 수 없기 때문에 원하는 위치에 값을 추가하거나, 제거할 수 없다.
Author And Source
이 문제에 관하여([TIL] 파이썬 List, Tuple, Set), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kwiseon/python1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)