허구한 날 까먹어서 튜플/집합/사전 정리해두기
요즘 학교에서 파이썬 멘토(조교는 대학원생이고 나는 학부생이니까) 하는데
반년 동안 학교에서 파이썬 할 일이 없었으니까 소소한 곳에서 다 까먹어서 깜짝 놀랐다
이 게시글의 모든 내용의 출처는 컴퓨팅 사고력 강의자료입니다.
1. 튜플
() 로 표시, 튜플의 원소는 추가/삭제/수정할 수 없음. immutable 자료형
slicing으로 원소를 수정할 수 없다
del()은 튜플 자체 삭제만 가능 (원소 삭제에는 사용 못함)
빈 튜플 생성
t = ( )
t = tuple( )
문자열, 리스트와 동일하게 인덱싱에 [ ]를 사용
튜플에서는 데이터를 바꿀 수 없다
slicing으로 원소 추출은 가능, 원소 변경은 불가능
+ 연결 연산, * 반복연산, in 연산, len() 함수 사용 가능
enumerate(a)
iterable 자료형을 입력받아서 인덱스 값을 포함하는 enumerate 객체를 반환.
a의 모든 원소에 대해 튜플 (index, 원소 값)을 얻을 수 있는 enumerate object를 반환.
for문의 in 뒤에 사용하면 인덱스와 데이터를 함께 차례대로 가져옴
for i, x in enumerate(L) :
2. 집합(set)
집합은 object 들을 순서 없이 모아둔 자료형
중복을 허용하지 않는다
집합에는 동일한 원소가 두 개 이상 있을 수 없다
자료의 중복을 제거하기 위한 필터 역할로 활용될 수 있다
순서가 없다(Unordered)
인덱싱 지원 안됨. 인덱싱으로 값을 얻을 수 없다
set 자료형에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환한 후
인덱스를 사용
집합은 원소의 추가/ 삭제 가능(mutable)
Membership test ( in 연산), loop를 통한 원소 검색 가능
값 1개 추가하기 (add)
원소(값) 여러 개 추가하기(update)
s1.update([4, 5, 6]) # 4,5,6을 원소로 추가
3. 사전 (Dictionary)
키(key)와 값(value)의 쌍을 저장할 수 있는 자료형 객체
사전은 집합의 일종 (순서 개념이 없음)
대응 관계를 나타낼 수 있는 자료형이다
사전 자료형은 중괄호 { }로 표시, 원소들은 콤마로 분리
key : value 쌍을 원소로 갖는 자료형
key에는 정수/실수/문자열/튜플 같은 immutable 자료형만 허용
mutable 자료형은 올 수 없다 (리스트, 집합, 사전)
반면에, value에는 어떤 object도 가능
d[key]= value
dict.keys(): 사전 모든 Key를 모아서 dict_keys 객체를 리턴
items() : key와 value의 쌍을 튜플로 묶은 값을 dict_items 객체로 반환