딕셔너리(Dictionary)란?
- Key와 Value를 한 쌍으로 갖는 자료형("key:value"형식)
- 리스트나 튜플과는 다르게 순서가 존재하지 않음
- "딕셔너리 이름 = {key1:value1, key2:value2, key3:value3...}형식으로 작성(이를 초기화 할 경우 "딕셔너리 이름 = dict(key1:value1, key2:value2, key3:value3...)"형식으로 입력
- "del 딕셔너리[인덱스]"형태로 삭제 가능
sunrin = {"레전드":"학교", "입니다":"ㄹㅇ"}
>> {"레전드":"학교", "입니다":"ㄹㅇ"}
sunrin = {"ㄹㅇㅋㅋ":"만 치세요"}
>> {"레전드":"학교", "입니다":"ㄹㅇ", "ㄹㅇㅋㅋ":"만 치세요"}
sunrin[2] = [1,2]
>> {"레전드":"학교", "입니다":"ㄹㅇ", "ㄹㅇㅋㅋ":"만 치세요", 2: [1,2]}
del sunrin[0]
>> {"입니다":"ㄹㅇ", "ㄹㅇㅋㅋ":"만 치세요", 2: [1,2]}
++ 문자열의 요소는 immutable(불멸)타입이기 때문에 인덱싱으로 수정이 불가능합니다.
딕셔너리에서는 Key가 immutable이며, 그에 따른 주의사항은 다음과 같습니다.
- key는 value를 찾기 위한 유일한 값이기 때문에 중복X
- key에 리스트는 사용할 수 없습니다.(단 value에는 가능)
- value에는 어떤 값이든 상관 없이 올 수 있습니다.
- key는 중복이 불가능하며, 만약 중복하여 사용하였다면 마지막으로 설정한 value값이 들어갑니다.
딕셔너리 함수
| 함수 | 설명 |
| x.keys() | 딕셔너리 x의 key만 모아 dict_keys([key1, key2, ...])으로 반환 |
| x.values() | 딕셔너리 x의 value만 모아 dict_values([value1, value2, ...])으로 반환 |
| x.items() | 딕셔너리 x의 key와 value를 튜플로 묶어 dict_items([(key1, value1), (key2, value2), ...]) 형식으로 반환 |
| x.clear() | 딕셔너리의 모든 값을 삭제(del 키워드는 객체 자체를 삭제) |
| x.get(key) | x[key]와 마찬가지로 해당 key의 value 반환 |
| key in x | key 값이 x 딕셔너리에 존재하는지 판별하는 키워드 |
튜플(tuple)이란?
- immutable로 값을 수정할 수 없음
- 선언 방식을 리스트와 거의 흡사(a = (38), b = (38,), c = 38,)
--> 단 튜플에 임의로 넣은 list를 변경하려면 특수한(?)방법을 사용해야함.
- 인덱싱은 사용 가능함
t1 = (1,2,3,4)
t2 = ([1,2,3],4,5,6)
t2[0][1] = 'a'
print(t2)
>>([1, 'a', 3], 4, 5, 6)
집합(set)이란?
- 기본적으로 튜플과 비슷한 구조, 하지만 <del>순서가 있음</del>
-->
- 요소의 순서가 없다.
- 중복되는 값은 한 개만 저장한다.
- 딕셔너리는 key만 저장한다.
라고 합니다...
- 집합명 = {"a": 숫자}형태로 작성
| 함수명 | 사용 구문 |
| 교집합 | &, intersection() |
| 합집합 | |, union() |
| 차집합 | -, difference() |
| 함수명 | 함수 사용 | 함수 실행 결과 |
| add | set.add(a) | 집합 set에 a 값을 추가합니다. |
| update | set.update([a, b, c, ...]) | 집합 set에 여러 개의 값을 추가합니다. |
| remove | set.remove(a) | 집합 set에 a 값을 삭제합니다. |