많은 프로그램에서 딕셔너리의 키를 추출하는 작업은 해당 딕셔너리에 의존하는 다른 프로그램의 중요한 입력값으로 활용됩니다. 이 글에서는 Python 딕셔너리의 키를 리스트 형태로 가져오는 다양한 방법을 살펴보겠습니다.
1. dict.keys() 메서드 사용
가장 직관적이고 간단한 방법입니다. keys()는 딕셔너리에 기본으로 내장된 메서드로, 모든 키를 반환합니다. 여기에 list()> 함수를 적용하면 손쉽게 리스트로 변환할 수 있습니다.
예제
Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'}
print("주어진 딕셔너리 :\n ",Adict)
print(list(Adict.keys()))실행 결과
주어진 딕셔너리 :
{1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
[1, 2, 3, 4]2. 언패킹 연산자(*) 사용
별표(*) 연산자는 반복 가능한(iterable) 객체라면 어디에나 적용할 수 있습니다. 딕셔너리에 *를 사용하면 키가 자동으로 언패킹되어 추출되며, 이를 대괄호로 감싸면 바로 리스트가 됩니다.
예제
Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'}
print("주어진 딕셔너리 :\n ",Adict)
print([*Adict])실행 결과
주어진 딕셔너리 :
{1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
[1, 2, 3, 4]3. itemgetter 함수 사용
itemgetter(i)는 딕셔너리, 리스트, 튜플 등 반복 가능한 객체를 입력받아 그중 i번째 요소를 꺼내는 호출 가능한(callable) 객체를 생성합니다. 이를 map() 함수와 함께 사용하면 딕셔너리의 키를 효율적으로 추출할 수 있습니다.
예제
from operator import itemgetter
Adict = {1:'Sun',2:'Mon',3:'Tue',4:'Wed'}
print("주어진 딕셔너리 :\n ",Adict)
print(list(map(itemgetter(0), Adict.items())))실행 결과
주어진 딕셔너리 :
{1: 'Sun', 2: 'Mon', 3: 'Tue', 4: 'Wed'}
[1, 2, 3, 4]마무리
세 가지 방법 모두 동일한 결과를 반환하지만, 상황에 따라 적합한 방법이 다릅니다. 일반적으로는 가독성이 좋은 dict.keys() 방식이 가장 널리 사용되며, 간결한 코드를 선호한다면 언패킹([*dict]) 방식도 좋은 선택입니다.