python dictionary
## 딕셔너리 (Dictionary)
Python의 `dict`는 키와 값을 한 쌍으로 하는 컬렉션 타입입니다. 다른 언어에서는 "맵", "해시맵" 또는 "연관 배열"로 불릴 수도 있습니다.
### 기본 특징:
1. **키-값 쌍**: 딕셔너리는 키-값 쌍으로 데이터를 저장합니다.
2. **변경 가능**: 딕셔너리는 동적으로 항목을 추가, 수정, 삭제할 수 있습니다.
3. **순서 없음**: 딕셔너리는 데이터를 순서대로 저장하지 않습니다. 그러나 Python 3.7부터 딕셔너리는 삽입 순서를 보존합니다.
4. **키의 고유성**: 딕셔너리의 각 키는 고유해야 합니다. 동일한 키로 데이터를 추가하면 기존 값이 덮어씌워집니다.
### 기본적인 사용:
```python
# 딕셔너리 생성
my_dict = {"name": "John", "age": 30, "city": "New York"}
# 값 읽기
print(my_dict["name"]) # 출력: John
# 값 추가/수정
my_dict["job"] = "Engineer"
# 키-값 쌍 삭제
del my_dict["age"]
# 키의 존재 여부 확인
print("name" in my_dict) # 출력: True
```
### 유용한 메서드:
- **get()**: 키로 값을 가져옵니다. 키가 없는 경우, 기본값을 반환합니다.
- **keys()**: 딕셔너리의 모든 키를 반환합니다.
- **values()**: 딕셔너리의 모든 값을 반환합니다.
- **items()**: 딕셔너리의 모든 키-값 쌍을 반환합니다.
- **update()**: 한 딕셔너리의 내용을 다른 딕셔너리로 업데이트합니다.
- **pop()**: 지정한 키의 값을 반환하고 해당 키-값 쌍을 삭제합니다.
- **clear()**: 딕셔너리의 모든 항목을 삭제합니다.
딕셔너리는 데이터 조작 및 저장에 있어서 중요한 자료구조 중 하나로, Python 프로그래밍에서 빈번하게 사용됩니다.
## dict의 value 들에서 가장 큰 값의 키 찾기
Python의 `dict`에서 value 값이 가장 큰 키를 찾으려면 `max()` 함수와 `dict`의 `get` 메서드를 함께 사용할 수 있습니다.
다음은 그 방법을 보여주는 예시입니다:
```python
my_dict = {'a': 10, 'b': 25, 'c': 5}
max_key = max(my_dict, key=my_dict.get)
print(max_key) # 출력: 'b'
```
이 예시에서 `max()` 함수는 `key=my_dict.get` 인자와 함께 사용되어, 딕셔너리의 키 중에서 `my_dict.get` 함수 (즉, 딕셔너리에서 해당 키의 값을 가져오는 함수)가 반환하는 값이 가장 큰 키를 반환합니다.
## get() 사용
`get` 메서드는 Python의 딕셔너리 (`dict`)에서 사용되는 내장 메서드입니다. 이 메서드를 사용하면 딕셔너리에서 특정 키에 대한 값을 검색할 수 있습니다. 키가 딕셔너리에 없을 경우에는 지정된 기본값을 반환하거나 `None`을 반환합니다.
`get` 메서드의 기본 구조는 다음과 같습니다:
```python
dictionary.get(key, default=None)
```
- `key`: 검색할 키입니다.
- `default` (선택적): 키가 딕셔너리에 없을 때 반환할 값입니다. 지정하지 않으면 `None`을 반환합니다.
예제:
```python
my_dict = {"a": 1, "b": 2, "c": 3}
# 'a' 키의 값을 가져옵니다.
value_a = my_dict.get("a")
print(value_a) # 출력: 1
# 'd' 키는 존재하지 않으므로, 기본값 4를 반환합니다.
value_d = my_dict.get("d", 4)
print(value_d) # 출력: 4
# 'd' 키는 존재하지 않으며, 기본값이 지정되지 않았으므로 None을 반환합니다.
value_d = my_dict.get("d")
print(value_d) # 출력: None
```
`get` 메서드는 딕셔너리에서 키를 사용하여 값을 검색할 때 키가 없는 경우 오류를 방지하기 위해 매우 유용합니다. 키가 딕셔너리에 없을 때 `KeyError` 예외를 발생시키지 않고 기본값을 안전하게 반환합니다.
댓글
댓글 쓰기