🔹 딕셔너리의 .items() 메서드는 어떻게 생겼을까?
.items()는 Python의 딕셔너리(dict) 메서드로,
딕셔너리의 모든 키-값 쌍을 튜플 형태로 반환하는 메서드입니다.
dict.items()
- dict.items()는 (key, value) 쌍을 포함한 뷰 객체(dict_items)를 반환합니다.
- 반환 타입: dict_items([ (key1, value1), (key2, value2), ... ])
- 보통 반복문(for)에서 활용하여 딕셔너리 데이터를 처리할 때 많이 사용합니다.
🔹 1. .items()의 실제 동작 방식
✅ 예제 1: 기본 사용법
data = {"name": "Alice", "age": 25, "city": "London"}
items_view = data.items() # .items() 호출
print(items_view) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'London')])
print(type(items_view)) # <class 'dict_items'>
출력 결과:
dict_items([('name', 'Alice'), ('age', 25), ('city', 'London')])
<class 'dict_items'>
🔹 dict_items 객체가 반환됨 (리스트가 아님)
🔹 dict_items 객체는 반복(iteration)이 가능한 뷰(View) 객체
🔹 2. .items()를 for 반복문에서 사용
✅ 예제 2: 딕셔너리의 키-값 쌍 출력
data = {"name": "Alice", "age": 25, "city": "London"}
for key, value in data.items():
print(f"{key} → {value}")
출력 결과:
name → Alice
age → 25
city → London
🔹 .items()를 사용하면 딕셔너리의 (key, value)를 튜플로 반환
🔹 for key, value in data.items(): → 키와 값을 한 번에 가져올 수 있음
🔹 3. .items() vs .keys() vs .values()
메서드 반환 값 예제 (data = {"name": "Alice", "age": 25})
.items() | (key, value) 튜플 목록 | dict_items([('name', 'Alice'), ('age', 25)]) |
.keys() | key 목록 | dict_keys(['name', 'age']) |
.values() | value 목록 | dict_values(['Alice', 25]) |
✅ 예제 3: keys() & values() 비교
data = {"name": "Alice", "age": 25}
print(data.keys()) # dict_keys(['name', 'age'])
print(data.values()) # dict_values(['Alice', 25])
print(data.items()) # dict_items([('name', 'Alice'), ('age', 25)])
🔹 keys(): 딕셔너리의 키만 반환
🔹 values(): 딕셔너리의 값만 반환
🔹 items(): 키-값 튜플 쌍을 반환
🔹 4. .items()를 리스트로 변환
.items()가 반환하는 dict_items는 리스트와 유사하지만 리스트가 아님.
따라서 list()를 사용하면 리스트로 변환할 수 있습니다.
✅ 예제 4: .items()를 리스트로 변환
data = {"name": "Alice", "age": 25}
items_list = list(data.items()) # 리스트 변환
print(items_list) # [('name', 'Alice'), ('age', 25)]
print(items_list[0]) # ('name', 'Alice') → 첫 번째 (key, value) 튜플
🔹 .items()는 기본적으로 dict_items 객체를 반환
🔹 리스트로 변환하면 [(key1, value1), (key2, value2)] 형태가 됨
🔹 인덱싱(items_list[0])을 활용해 튜플 접근 가능
🔹 5. .items()를 활용한 딕셔너리 필터링
.items()를 활용하여 특정 조건을 만족하는 데이터만 필터링할 수도 있습니다.
✅ 예제 5: 특정 조건을 만족하는 데이터 필터링
data = {"Alice": 85, "Bob": 92, "Charlie": 78, "David": 90}
# 점수가 90점 이상인 학생만 필터링
high_scores = {k: v for k, v in data.items() if v >= 90}
print(high_scores) # {'Bob': 92, 'David': 90}
🔹 for k, v in data.items()를 사용하여 키-값을 조회
🔹 조건 if v >= 90를 만족하는 항목만 새로운 딕셔너리로 저장
🔹 6. .items()를 활용한 딕셔너리 정렬
.items()와 sorted()를 조합하면 딕셔너리를 정렬할 수 있습니다.
✅ 예제 6: 값(value) 기준으로 정렬
data = {"Alice": 85, "Bob": 92, "Charlie": 78, "David": 90}
# 값 기준으로 정렬 (오름차순)
sorted_items = sorted(data.items(), key=lambda item: item[1])
print(sorted_items) # [('Charlie', 78), ('Alice', 85), ('David', 90), ('Bob', 92)]
🔹 sorted(data.items(), key=lambda item: item[1])
🔹 lambda item: item[1] → 값(value) 기준 정렬
🔹 정렬된 결과는 리스트(list) 형태로 반환됨
🔹 결론
✅ .items()는 딕셔너리의 (키, 값) 쌍을 dict_items 형태로 반환
✅ for k, v in data.items(): → 반복문에서 키와 값을 동시에 가져올 수 있음
✅ list(data.items())를 사용하면 튜플 리스트로 변환 가능
✅ .items()를 활용하면 필터링, 정렬, 변환 등의 다양한 응용 가능
💡 딕셔너리를 다룰 때 .items()를 잘 활용하면 데이터 처리 속도가 훨씬 좋아집니다! 🚀
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
VS Code에서 Python 확장(extension) 설치에 대한 설명 (0) | 2025.02.19 |
---|---|
파이썬 딕셔너리(Dictionary) 메서드 정리 (0) | 2025.02.18 |
객체 모델 다이어그램 설명 (Python 코드 구현) (1) | 2025.02.15 |
파이썬의 내장형 클래스 쉽게 이해하기 (1) | 2025.02.15 |
파이썬 클래스의 캡슐화(Encapsulation) (1) | 2025.02.14 |