tuple_name = (element1, element2, ...)
list = [(1,2), (1,3), (1,4)]
물론 list[list]도 가능하지만 list는 수정이 가능하고 여러 요소들을 저장할 수 있도록 하였기 때문에 tuple보다 차지하는 메모리용량이 크다. 때문에 수정이 필요없고 간단한 형태의 테이터를 표현할 때 tuple을 사용하는게 효과적이다.
list = [ [1,2], [1,3], [1,4] ]
list = [ (1,2), (1,3), (1,4) ]
tuple이 하나의 element만 존재할 경우 tuple이 되지 않는다. 대신 하나의 element 뒤 콤마를 찍어주면 tuple이 된다.
list = (1) # <class 'int'>
list = (1,) # <class 'tuple'>
형변환
a = 'string'
b = tuple(a)
print(b) # ('s', 't', 'r', 'i', 'n', 'g')
tuple([1, 7, 5, 3, 9]) # (1, 7, 5, 3, 9)
set = {element1, element2, ...}
set1 = {1, 2, 3, 1}
print(set1) # {1, 2, 3}
set 내부에는 다양한 형식의 값을 가질 수 있지만, mutable한 값은 가질 수 없다.
set1 = { "hello", 1, (1,2) }
set2 = { "hello", 1, (1,2), [1,2] }
print(set2) # TypeError: unhashable type: 'list'
set3 = { "hello", 1, (1,2), {1,2} }
print(set3) # TypeError: unhashable type: 'set'
set과 dict는 동일한 중괄호{}를 사용하므로 빈 중괄호만으로 생성이 어렵기 때문에 set함수를 사용
set1 = {}
print(type(set1)) # <class 'dict'>
set2 = set()
print(type(set2)) # <class 'set'>
print(set2) # set()
set1 = { 1, 2, 3 }
set1.add(4)
print(set1) # { 1, 2, 3, 4 }
set1 = { 1, 2, 3 }
set1.update([3, 4, 5])
print(set1) # {1, 2, 3, 4, 5}
삭제하려는 요소가 set안에 없으면 keyError 발생
set1 = { 1, 2, 3 }
set1.remove(2)
print(set1) # { 1, 3 }
set1.remove(2) # KeyError: 2
삭제하려는 요소가 set안에 없어도 에러발생 없음
set1 = { 1, 2, 3 }
set1.discard(2)
print(set1) # { 1, 3 }
set1.discard(2)
.copy()
set1 = { 1, 2, 3 }
set2 = set1.copy()
print(set2) # { 1, 2, 3 }
set(원본) : set함수를 이용해 복사
set1 = { 1, 2, 3 }
set2 = set(set1)
print(set2) # { 1, 2, 3 }
set에서 어떠한 값이 포함되어 있는지 체크
set1 = { 1, 2, 3 }
print( 1 in set1 ) # True
print( 4 in set1 ) # False
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}
print( set1 & set2 ) # {4, 5, 6}
print(set1.intersection(set2)) # {4, 5, 6}
|
, .union()set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}
print( set1 | set2 ) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
print( set1.union(set2) ) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}
print( set1 - set2 ) # {1, 2, 3}
print( set1.difference(set2) ) # {1, 2, 3}
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}
set3 = set1 ^ set2
print(set3) # {1, 2, 3, 7, 8, 9}