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