1. 언팩(unpack)
길이를 알 때, 같은 개수만큼의 변수로 unpack하거나, star expression(*)으로 풀 수 있다.
2. 딕셔너리
딕셔너리 생성
- key에는 immutable 데이터만 가능하다. (List 안 됨)
1) 내장함수 dict()
인라인 코드 규칙을 따르므로, key가 변수 규칙을 따름. 즉, 식별자 규칙을 따르게 됨!
⇒ 변수 이름이 i) 숫자만, ii) 숫자로 시작, iii) '문자열' 형태가 허용되지 않음!
⇒ 이 경우, key를 변수를 만든다고 여기면 편하다.
- key로 사용되는 문자열에 ' ' (또는 " ")를 붙이지 않는다.
- key와 value를 잇는 기호는 ' = ' 를 사용한다.
dict_1 = dict(sally = 25, monica = 33, robert = 48)
2) { }로 딕셔너리 만들기
key를 literal 그대로 받아들임. 따라서, 변수 규칙이 아니라 key값을 구성하는 규칙을 따르게 됨.
⇒ immutable 객체 사용하기
- { } 만을 사용할 경우, set가 아닌 dictionary가 만들어진다.
- key와 value를 잇는 기호는 ' : ' 를 사용한다.
- 즉, 딕셔너리 실물(?)과 똑같이 만들면 된다.
dict_1 = {sally : 25, monica : 33, robert : 48}
딕셔너리 요소 추가하기
(1) 딕셔너리명[key] = value
해당 key가 기존에 있다면 value값이 수정되고, 없다면 새로운 key-value 쌍이 생성된다.
(2) update()
함수 사용
딕셔너리명.update({'key' : 'value', 'key2' : 'value2'})
로 여러 값을 수정 (또는 추가)할 수 있다.
get()
메서드
딕셔너리에 .get(찾는 키, default)
로 접근하면, key가 있으면 key에 대응하는 value 값을 반환하고, 없으면 default에 지정한 값을 반환한다. default를 지정하지 않으면 None을 반환한다.
조건문 결합하기
(예) 미세먼지 농도가 80 초과는 '나쁨', 80 이하는 '보통'으로 하는 value를 가지는 딕셔너리
result = {key: ('나쁨' if value > 80 else '보통') for key, value in dusts.items()}
print(result)
# {'서울': '보통', '인천': '나쁨', '제주': '보통', '동해': '보통'}
⇒ value 자리에 if문을 삼항연산자로 작성: 특정한 값 대신에 하나의 값으로 수렴하는 표현식을 넣음
'파이썬' 카테고리의 다른 글
에러와 예외 처리 (0) | 2022.03.14 |
---|---|
데이터 구조: string, list, set, dict (0) | 2022.03.14 |
패키지와 모듈 (0) | 2022.03.14 |
객체 지향 프로그래밍 (OOP) (0) | 2022.03.14 |
힙 (Heap) (0) | 2022.03.08 |