Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 딕셔너리 keys() 메서드 완벽 정리: 작동 원리부터 활용 예제까지

파이썬 딕셔너리 keys() 메서드란?

파이썬에서 keys() 메서드는 딕셔너리(dictionary)에 저장된 모든 키(key)를 담은 뷰(view) 객체를 반환하는 기능입니다. 이 뷰 객체는 단순히 키 목록을 보여주는 것에 그치지 않고, 딕셔너리의 변화를 실시간으로 반영한다는 점이 특징입니다.

기본 사용 예제

다음과 같이 학생 정보를 담은 딕셔너리가 있다고 가정해 보겠습니다.

>>> d1 = {'name': 'Ravi', 'age': 21, 'marks': 60, 'course': 'Computer Engg'}
>>> d1.keys()
dict_keys(['name', 'age', 'marks', 'course'])

keys() 메서드를 호출하면 dict_keys라는 이름의 뷰 객체가 반환되며, 딕셔너리에 사용된 키들이 순서대로 출력됩니다.

뷰 객체의 동적 업데이트 특성

keys()가 반환한 뷰 객체는 변수에 저장해 두어도 됩니다. 중요한 점은 딕셔너리에 새로운 키-값 쌍이 추가되면 뷰 객체도 자동으로 갱신된다는 것입니다.

>>> l1 = d1.keys()
>>> l1
dict_keys(['name', 'age', 'marks', 'course'])
>>> d1.update({"college": "IITB"})
>>> l1
dict_keys(['name', 'age', 'marks', 'course', 'college'])

위 예제에서 d1.update()로 새로운 항목인 'college'를 추가했더니, 별도의 갱신 작업 없이도 l1에 자동으로 반영된 것을 확인할 수 있습니다. 이는 keys()가 정적인 리스트가 아닌, 딕셔너리와 연결된 동적 뷰이기 때문입니다.

keys() 메서드의 주요 활용 방법

1. 리스트로 변환하기

뷰 객체를 일반 리스트처럼 다루고 싶다면 list()

>>> key_list = list(d1.keys())
>>> key_list
['name', 'age', 'marks', 'course', 'college']

2. 반복문에서 키 순회하기

for 문과 함께 사용하면 딕셔너리의 키를 하나씩 순회할 수 있습니다.

>>> for key in d1.keys():
...     print(key)
name
age
marks
course
college

3. 키 존재 여부 확인하기

in 연산자와 함께 사용하면 특정 키가 딕셔너리에 있는지 손쉽게 검사할 수 있습니다.

>>> 'name' in d1.keys()
True
>>> 'grade' in d1.keys()
False

정리

파이썬 딕셔너리의 keys() 메서드는 키 목록을 반환하는 뷰 객체를 제공하며, 딕셔너리의 변경 사항을 실시간으로 반영합니다. 리스트 변환, 반복문 순회, 키 존재 여부 확인 등 다양한 상황에서 유용하게 활용할 수 있으므로, 딕셔너리를 다루는 파이썬 개발자라면 반드시 익혀두어야 할 필수 메서드입니다.