Python에서 목록을 사전으로 변환

Python에서 목록을 사전으로 변환하는 것은 그리 어렵지 않습니다.

목록을 사전으로 변환하는 다양한 방법을 확인해 봅시다.

소개

자습서로 이동하기 전에 목록을 사전으로 변환하는 예를 살펴보겠습니다. 튜플 목록(각 튜플은 두 개의 요소로 구성됨) 또는 요소 목록만 있을 것입니다. 두 입력을 모두 받아 사전으로 변환합니다.

예:

다음 예제에서는 튜플 목록을 가져와 사전으로 변환했습니다. 우리는 각 튜플의 첫 번째 요소를 키로, 두 번째 요소를 사전의 값으로 취했습니다.

입력: list_one = [(‘a’, ‘A’), (‘b’, ‘B’), (‘c’, ‘C’)]

출력: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

다음 예제에서는 요소 목록을 가져와 대체 요소를 키와 값으로 사용하여 사전으로 변환했습니다. 키로 사용할 요소가 남아 있지 않으면 키에 null을 제공합니다(목록에 요소 수가 홀수인 경우).

입력: list_one = [‘a’, ‘A’, ‘b’, ‘B’, ‘c’, ‘C’, ‘d’]

출력:{‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’, ‘d’: 없음}

우리는 튜토리얼의 목표를 보았습니다. 그리고 두 가지 예를 서로 다른 방식으로 논의할 것입니다. 첫 번째 예부터 시작하겠습니다.

튜플 목록 – 사전

튜플 목록을 사전으로 변환하는 방법을 살펴보겠습니다. 다음 단계를 통해 코드 작성을 시도할 수 있습니다.

  • 위의 예와 같이 더미 데이터로 튜플 목록을 초기화합니다(목록의 각 튜플에 정확히 두 개의 요소가 있는지 확인).
  • 튜플 목록을 dict 메서드에 전달하면 결과가 새 변수에 저장됩니다.
  • 그게 다야, 우리는 한 줄의 코드로 튜플 목록을 사전으로 변환했습니다.
# list of tuples
list_of_tuples = [('a', 'A'), ('b', 'B'), ('c', 'C')]

# converting to dictionary
list_of_tuples_dict = dict(list_of_tuples)

# printing the result dict
print(list_of_tuples_dict)

위의 프로그램 출력을 실행하여 테스트할 수 있습니다. 예제에서 볼 수 있는 결과를 얻을 수 있습니다.

목록 – 사전

우리는 튜플 목록을 사전으로 변환하는 방법을 보았고 Python에서는 간단합니다. 이 섹션에서는 일반 목록을 사전으로 변환하는 방법을 살펴보겠습니다.

  Ubuntu에서 Canonical의 Livepatch 서비스를 사용하는 방법

더 명확하게 이해하려면 자습서의 첫 번째 섹션에서 두 번째 예를 참조하십시오.

아래 단계에 따라 두 번째 예제에 대한 코드를 작성하십시오.

값이 없는 요소(홀수의 요소를 포함하는 목록)에 대해 기본값을 없음으로 채웠습니다. 이를 위해 모듈 itertools에서 zip_longest라는 메서드를 사용해야 합니다.

  • 모듈 itertools를 가져오고 예제에 제공된 홀수 개의 요소로 목록을 초기화합니다.
  • zip_longest 메서드에서 키와 값 쌍의 반복을 피하기 위해 목록을 iterable로 변환합니다.
  • 이제 iterable을 zip_longest 메서드에 전달하고 값을 None으로 채웁니다. zip 개체를 반환합니다.
    • 두 개의 iterable에서 키와 값을 가져오므로 iterable을 두 번 전달해야 합니다. 우리의 경우에는 키와 값이 모두 동일한 이터러블에 있습니다. 따라서 fillvalue 전에 두 번 전달해야 합니다.
  • dict 메서드를 사용하여 개체를 Python 사전으로 변환합니다.
  • 결과를 인쇄하십시오.
# importing the module
import itertools

# plain list with odd number of elements
plain_list = ['a', 'A', 'b', 'B', 'c', 'C', 'd']

# converting it to iterable to avoid repetition
plain_list_iter = iter(plain_list)

# converting the plain_list to dict
plain_list_dict_object = itertools.zip_longest(plain_list_iter, plain_list_iter, fillvalue=None)

# convert the zip_longest object to dict using `dict`
plain_list_dict = dict(plain_list_dict_object)

# print it
print(plain_list_dict)

당신은 당신이 원하는대로 fillvalue를 줄 수 있습니다. 그것으로 다른 것을 시도하십시오. 그리고 코드를 실행하여 예제에서 언급한 대로 정확한 출력을 얻고 있는지 확인하십시오.

결론

목록을 사전으로 변환하는 것이 즐거웠기를 바랍니다. 다음 튜토리얼에서 만나요.

다음으로 Python에서 Flatten list하는 방법을 배웁니다.

행복한 코딩 🙂

기사를 재미있게 읽으셨나요? 세계와 공유하는 것은 어떻습니까?