파이썬 | 사전 키를 목록으로 가져오기
사전이 주어지면 사전 키를 목록으로 가져오는 Python 프로그램을 작성합니다.
예:
Input : {1:'a', 2:'b', 3:'c'} Output : [1, 2, 3] Input : {'A' : 'ant', 'B' : 'ball'} Output : ['A', 'B'] 방법 1: dict.keys()를 사용하여 사전 키를 목록으로 가져옵니다.
Python list() 함수는 모든 반복 가능 항목을 매개변수로 사용하고 목록을 반환합니다. Python에서 iterable은 반복할 수 있는 객체입니다.
파이썬3
mydict> => {> 1> :> 'Geeks'> ,> 2> :> 'for'> ,> 3> :> 'geeks'> }> keysList> => list> (mydict.keys())> print> (keysList)> |
산출
[1, 2, 3]
프로그램의 시간 복잡도는 O(n)입니다. 여기서 n은 사전의 키 수입니다.
프로그램의 공간 복잡도는 O(n)입니다. 여기서 n은 사전의 키 수입니다. 이는 프로그램이 사전의 키와 동일한 수의 요소로 새 목록 개체를 생성하기 때문에 추가 메모리가 필요하기 때문입니다.
방법 2: For 루프 및 추가 메서드를 사용하여 사전 키를 목록으로 가져옵니다.
이 방법에서는 다음을 사용하여 각 키를 반복합니다. dict.keys() 함수 그리고 추가 목록이라는 이름의 새 목록으로 이동합니다.
파이썬3
# Python program to get> # dictionary keys as list> def> getList(> dict> ):> > list> => []> > for> key> in> dict> .keys():> > list> .append(key)> > > return> list> > # Driver program> dict> => {> 1> :> 'Geeks'> ,> 2> :> 'for'> ,> 3> :> 'geeks'> }> print> (getList(> dict> ))> |
산출
[1, 2, 3]
시간 복잡도: O(n)
보조 공간: O(n)
방법 3: List Comprehension을 사용하여 나열할 사전 키
여기서는 Python의 목록 이해를 사용하여 코드를 단축해 보겠습니다.
파이썬3
dict> => {> 1> :> 'Geeks'> ,> 2> :> 'for'> ,> 3> :> 'geeks'> }> keysList> => [key> for> key> in> dict> ]> print> (keysList)> |
산출
[1, 2, 3]
시간 복잡도: O(n), 여기서 n은 사전의 키-값 쌍 수입니다.
보조 공간: O(n), 사전에 키와 값을 저장합니다.
방법 4: Unpacking with를 사용하여 나열할 사전 키 *
*를 사용한 압축 해제는 모든 반복 가능한 객체에서 작동하며 사전은 반복할 때 키를 반환하므로 목록 리터럴 내에서 이를 사용하여 쉽게 목록을 만들 수 있습니다.
파이썬3
def> getList(> dict> ):> > return> [> *> dict> ]> # Driver program> dict> => {> 'a'> :> 'Geeks'> ,> 'b'> :> 'For'> ,> 'c'> :> 'geeks'> }> print> (getList(> dict> ))> |
산출:
['a', 'b', 'c']
시간 복잡도: O(N)
보조공간 : O(N)
방법 5: itemgetter를 사용하여 나열할 사전 키
연산자 모듈의 itemgetter는 피연산자의 값을 사용하여 피연산자에서 항목을 가져오는 호출 가능한 객체를 반환합니다. __getitem__ () 방법. 이 메서드는 dict.items()에 매핑된 다음 목록에 유형 변환됩니다.
파이썬3
from> operator> import> itemgetter> def> getList(> dict> ):> > return> list> (> map> (itemgetter(> 0> ),> dict> .items()))> # Driver program> dict> => {> 'a'> :> 'Geeks'> ,> 'b'> :> 'For'> ,> 'c'> :> 'geeks'> }> print> (getList(> dict> ))> |
산출:
['a', 'b', 'c']
방법 6: Map 및 람다 사용
사전 키를 목록으로 가져오는 또 다른 방법은 map() 함수를 람다 함수와 함께 사용하는 것입니다.
다음은 이를 수행하는 방법의 예입니다.
파이썬3
def> get_keys_as_list(dictionary):> > return> list> (> map> (> lambda> x: x[> 0> ], dictionary.items()))> # Driver program> dictionary> => {> 1> :> 'Geeks'> ,> 2> :> 'for'> ,> 3> :> 'geeks'> }> print> (get_keys_as_list(dictionary))> #This code is contributed by Edula Vinay Kumar Reddy> |
산출
[1, 2, 3]
이 접근 방식은 map() 함수를 사용하여 사전의 각 항목에 람다 함수를 적용하고 각 항목의 키를 반환합니다. 그런 다음 결과 반복자 객체가 list() 함수에 전달되어 키 목록을 만듭니다.
이 접근 방식은 O(n)의 시간 복잡도와 O(n)의 보조 공간 복잡도를 갖습니다. 여기서 n은 사전의 키 수입니다. 이는 사전 키를 목록으로 가져오는 간결하고 효율적인 방법입니다.