1. 복합 자료형
파이썬의 복합 자료형은 4가지다.
단, 이전 게시물에서 list와 tuple을 다뤘으므로 본 게시물에서는 dictionary와 set을 다루고자 한다.
▪️ 리스트
▪️ 튜플
▪️ 딕셔너리
▪️ 세트
2. 딕셔너리 (Dictionary)
딕셔너리는 Key와 Value의 쌍으로 이루어진 자료형이다.
시퀀스 자료형이 아니므로 순서가 없고, 따라서 인덱싱이 불가능하다.
작업 내용 | 코드 | 결과 |
딕셔너리 생성 | ① a = {} ② a = {'name' : 'Kim', 'age' : 25} |
① a = {} ② a = {'name' : 'Kim', 'age' : 25} |
요소 추가 | a['home'] = 'Seoul' | a = {'name' : 'Kim', 'age' : 25, 'home' : 'Seoul' } |
요소 삭제 | del a['home'] | a = {'name' : 'Kim', 'age' : 25} |
요소 수정 | a['name'] = 'Park' | a = {'name' : 'Park', 'age' : 25} |
Key 추출 | a.keys() | dict_keys(['name', 'age']) |
Value 추출 | a.values() | dict_values(['Park', 25]) |
Key, Value 함께 추출 | a.items() | dict_items([('name', 'Park'), ('age', 25)]) |
*딕셔너리 특징
특징 | 예시 / 코드 | 결과 |
딕셔너리의 Key에는 리스트가 들어갈 수 없음 (튜플은 가능) | a = {(1, 3, 4) : 'Kim', 5 : 25} | |
딕셔너리의 인덱싱을 위해서는 리스트화해야 함 (ex. Key) | b = list(a.keys())[0] | b = (1, 3, 4) |
딕셔너리의 인덱싱을 위해서는 리스트화해야 함 (ex. Key, Value) | for x, y in a.items(): print(x, y) |
(1, 3, 4) Kim 5 25 |
3. 세트 (Set)
세트는 딕셔너리와 같이 {}를 이용하지만 요소가 쌍이 아닌 자료형으로, 수학 '집합'의 개념을 생각하면 된다.
딕셔너리와 동일하게 순서가 없어 인덱싱이 불가능하며, 출력시 순서가 계속해서 바뀌어 나타난다.
더불어 세트는 중복 원소를 갖지 않는다.
작업 내용 | 코드 | 결과 |
세트 생성 | ① a = set() ② a = {'a', 'b', 4, 9} ③ b = set(['A', 'B', 4]) |
① a ={} ② a = {'a', 'b', 4, 9} ③ b = {'A', 'B', 4} |
요소 추가 | a.add(33) | a = {'a', 33, 'b', 4, 9} |
요소 삭제 (요소 없으면 에러) | a.remove(33) | a = {'a', 'b', 4, 9} |
요소 삭제 (요소 없어도 에러X) | a.discard(33) | a = {'a', 'b', 4, 9} |
요소 전체 삭제 | a.clear() | a = {} |
요소 확인 (output) | 'a' in a | True |
세트 교집합 | c = a & b | c = {4} |
세트 합집합 | c = a | b | c = {'a', 'b', 4, 9, 'A', 'B'} |
세트 차집합 | c = a - b | c = {'a', 'b', 9} |
*세트 특징
특징 | 예시 / 코드 | 결과 |
세트 생성시 a = {} 를 하면 딕셔너리로 생성되므로 주의해야 함 | ||
세트 안에 세트를 넣을 수 없음 | ||
리스트의 중복값을 제거할 때 세트로 전환했다가 다시 리스트로 전환하면 됨 | a = [1, 1, 3, 5] a2 = list(set(a)) |
a = [1, 3, 5] |
문자열의 중복값을 제거할 때 세트로 전환했다가 다시 리스트로 전환하면 됨 | a = "AAABCC" a2 = "".join(set(a)) |
a2 = "ACB" |
'코딩' 카테고리의 다른 글
[Python] 함수 (사용자 지정 함수, lambda, map) (0) | 2024.11.04 |
---|---|
[Python] 조건문, 반복문 (if, for, while) (0) | 2024.11.03 |
[Python] 시퀀스 자료형 (문자열, list, tuple) (0) | 2024.11.01 |
[Python] 기초 자료형 (0) | 2024.10.31 |
[Python] 기초 연산 (0) | 2024.10.30 |