# Python Dictionary 사용법
파이썬에서 Dictionary(딕셔너리)는 key와 value로 이루어진 데이터 구조이며, key를 통해 value를 검색할 수 있습니다. Dictionary는 중괄호({})를 사용하여 만들며, key와 value는 콜론(:)으로 구분합니다.
```python
# Dictionary 생성
my_dict = {
"name": "Alice",
"age": 25,
"city": "Seoul"
}
# Dictionary 요소에 접근
print(my_dict["name"]) # Alice
print(my_dict.get("age")) # 25
```
## Dictionary 추가 및 수정
Dictionary에 새로운 key와 value를 추가하거나 기존의 값을 수정할 수 있습니다.
```python
# 요소 추가
my_dict["email"] = "alice@example.com"
# 요소 수정
my_dict["age"] = 26
```
## Dictionary 삭제
Dictionary에서 key를 이용하여 요소를 삭제할 수 있습니다.
```python
# 요소 삭제
del my_dict["city"]
```
## Dictionary 관련 메서드
Python에서 Dictionary는 다양한 메서드를 제공합니다.
- `keys()`: 모든 key를 리스트로 반환합니다.
- `values()`: 모든 value를 리스트로 반환합니다.
- `items()`: key와 value의 쌍을 튜플로 반환합니다.
```python
# 메서드 사용 예시
print(my_dict.keys()) # ["name", "age", "email"]
print(my_dict.values()) # ["Alice", 26, "alice@example.com"]
print(my_dict.items()) # [("name", "Alice"), ("age", 26), ("email", "alice@example.com")]
```
## Dictionary 반복문
Dictionary의 key나 value를 순회하거나 key와 value 쌍을 함께 순회할 수 있습니다.
```python
# key 순회
for key in my_dict:
print(key)
# value 순회
for value in my_dict.values():
print(value)
# key와 value 순회
for key, value in my_dict.items():
print(f"{key}: {value}")
```
## FAQ
### 1. Dictionary에서 key가 존재하는지 확인하는 방법은 무엇인가요?
`in` 연산자를 사용하여 key의 존재 여부를 확인할 수 있습니다.
```python
if "name" in my_dict:
print("Key exists!")
```
### 2. Dictionary의 모든 요소를 삭제하려면 어떻게 해야 하나요?
`clear()` 메서드를 사용하여 Dictionary의 모든 요소를 삭제할 수 있습니다.
```python
my_dict.clear()
```
### 3. Dictionary에서 특정 key에 해당하는 value를 가져오는 방법은 무엇인가요?
`get()` 메서드나 key를 인덱스로 사용하여 value에 접근할 수 있습니다.
```python
print(my_dict.get("name")) # Alice
print(my_dict["name"]) # Alice
```
### 4. Dictionary에서 value를 기준으로 정렬하는 방법은 무엇인가요?
`sorted()` 함수를 사용하여 Dictionary를 value를 기준으로 정렬할 수 있습니다.
```python
sorted_dict = dict(sorted(my_dict.items(), key=lambda x: x[1]))
```