# ex)# 값 접근, 인덱스로 접근 가능
a =(1,2,3,1)print(a[1])# 출력# 2# 값 변경은 불가능, 타입에러 발생
a[1]='3'# 출력# TypeError: 'Tuple' object does not support item assignment
2. 세트(Set)
2-1. 세트의 정의
{요소1, 요소2, 요소3,...}
유일한 값들의 모음(collection)
순서가 없고 중복된 값이 없음
수학에서의 집합과 동일한 구조를 가지며, 집합 연산도 가능
변경 가능(mutable)하고, 반복 가능함(iterable)
단, 세트는 순서가 없기에 반복의 결과가 정의한 순서와 다를 수 있음
2-2. 세트 생성
중괄호({}) 혹은 set()을 통해 생성
빈 Set를 만들기 위해서는 set()을 반드시 활용해야 함
중괄호({})를 사용하면 빈 딕셔너리를 나타내기 때문
순서가 없어 별도의 값에 접근하는 것은 불가능함
# ex)# 중복값 제거
a ={1,2,3,1,2}print(a)# 출력# {1, 2, 3}-----------------------------------------------------# 타입확인
a ={1,2,3,1,2}print(type(a))# 출력# <class 'set'>-----------------------------------------------------# 빈 set 만들기, 반드시 set() 활용
a ={}
b =set()print(type(a))print(type(b))# 출력# <class 'dict'> 빈 중괄호({})는 딕셔너리로 생성됨# <class 'set'>-----------------------------------------------------# 순서는 임의 조정
a ={'hello',1,2}print(a)# 출력# {1, 2, 'hello'}-----------------------------------------------------# 인덱스 접근 불가, 타입에러 발생함
a ={1,2,3}print(a[0])# 출력# TypeError: 'set' object is not subscriptable
2-3. 세트 추가/삭제
문법
설명
s.add(x)
세트 s에 값 x를 추가
s.remove(x)
세트 s에 값 x를 삭제
# ex)# 값 추가
a ={1,2,3}
a.add(5)# 값이 추가됨
a.add(1)# 중복된 값이 들어오기에 무시됨print(a)# 출력# {1, 2, 3, 5}-----------------------------------------------------# 값 제거
a ={1,2,3}
a.remove(1)print(a)
a.remove(5)# 출력# {2, 3}# KeyError: 5 # 없는 값을 삭제하고자 하면 KeyError 발생
# ex) 아래 리스트에서 고유한 지역 개수는?
li =['서울','서울','광주','부산','광주','대구']
set_li =set(li)# set으로 중복제거print(set_li)
answer =len(set_li)# 길이 반환print(answer)# 출력# {'광주', '대구', '부산', '서울'}# 4