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

  1. zip()dict()를 사용하여 두 목록을 Python의 사전으로 변환
  2. 딕셔너리 내포을 사용하여 Python에서 목록을 사전으로 변환
  3. for 루프를 사용하여 Python에서 목록을 사전으로 변환
Python에서 두 목록을 사전으로 변환

이 튜토리얼은 파이썬에서 두 개의 목록을 사전으로 변환하는 방법을 소개합니다. 여기서 하나의 목록은 사전의 키를 포함하고 다른 목록은 값을 포함합니다.

zip()dict()를 사용하여 두 목록을 Python의 사전으로 변환

Python에는 반복 가능한 데이터 유형을 튜플로 집계하여 호출자에게 반환하는zip()이라는 내장 함수가 있습니다. 함수dict()는 주어진 컬렉션에서 사전을 만듭니다.

key_list = ["name", "age", "address"]
value_list = ["Johnny", "27", "New York"]

dict_from_list = dict(zip(key_list, value_list))
print(dict_from_list)

이 솔루션에서는 한 줄과 두 개의 함수를 사용하여 목록을 사전으로 변환 할 수 있습니다.

출력:

{'name': 'Johnny', 'age': '27', 'address': 'New York'}

딕셔너리 내포을 사용하여 Python에서 목록을 사전으로 변환

사전 이해는 Python에서 사전을 만드는 초기화 시간을 단축하는 방법입니다. 내포은 여러 줄과 변수가 필요한 for 루프를 대체합니다. 내포은 초기화 작업을 한 줄로 수행합니다.

이 솔루션에서zip()함수는 여전히 사전 이해에 값을 제공합니다. 이해는 함수zip()의 반환 값 내에있는 각 연속 요소의 키-값 쌍을 사전으로 반환합니다.

key_list = ["name", "age", "address"]
value_list = ["Johnny", "27", "New York"]

dict_from_list = {k: v for k, v in zip(key_list, value_list)}
print(dict_from_list)

목록을 사전으로 변환하는 또 다른 방법은 목록의 인덱스를 활용하고range()함수를 사용하여 두 목록을 반복하고 이해력을 사용하여 사전을 만드는 것입니다.

키 목록과 값 목록의 길이가 동일하다고 가정합니다. 이 예에서 키 목록 길이는 범위의 기준이됩니다.

key_list = ["name", "age", "address"]
value_list = ["Johnny", "27", "New York"]

dict_from_list = {key_list[i]: value_list[i] for i in range(len(key_list))}
print(dict_from_list)

이 두 가지 이해 솔루션은 이전 예제와 동일한 결과를 제공합니다.

이 두 솔루션의 유일한 차이점은zip()함수를 사용하여 목록을 튜플로 변환한다는 것입니다. 다른 하나는range()함수를 사용하여 현재 색인을 사용하여 두 목록을 반복하여 사전을 만듭니다.

출력:

{'name': 'Johnny', 'age': '27', 'address': 'New York'}

for 루프를 사용하여 Python에서 목록을 사전으로 변환

목록을 사전으로 변환하는 가장 간단한 방법은 반복하는 것입니다. 이 방법은 가장 비효율적이고 길지만, 특히 초보자이고 기본 프로그래밍 구문에 대해 더 많이 이해하려는 경우 좋은 시작입니다.

루핑하기 전에 빈 사전을 초기화하십시오. 그 후, 중첩 된 루프가 필요한 변환을 진행하십시오. 외부 루프는 키 목록을 반복하고 내부 루프는 값 목록을 반복합니다.

key_list = ["name", "age", "address"]
value_list = ["Johnny", "27", "New York"]

dict_from_list = {}
for key in key_list:
    for value in value_list:
        dict_from_list[key] = value
        value_list.remove(value)
        break

print(dict_from_list)

키-값 쌍이 형성 될 때마다 목록에서 값 요소를 제거하여 다음 키에 다음 값이 할당되도록합니다. 제거 후 내부 루프를 끊고 다음 키로 진행하십시오.

루프를 사용하는 또 다른 해결책은 range()를 사용하여 인덱스를 사용하여 키와 값 쌍을 얻는 것입니다. 예에서 사전 이해를 사용하여 수행 한 것과 같습니다.

key_list = ["name", "age", "address"]
value_list = ["Johnny", "27", "New York"]

dict_from_list = {}
for i in range(len(key_list)):
    dict_from_list[key_list[i]] = value_list[i]

print(dict_from_list)

두 솔루션 모두 동일한 출력을 생성합니다.

{"name": "Johnny", "age": "27", "address": "New York"}

요약하면, 두 목록을 사전으로 변환하는 가장 효율적인 방법은 내장 함수zip()을 사용하여 두 목록을 튜플으로 변환 한 다음dict()를 사용하여 튜플을 사전으로 변환하는 것입니다.

사전 이해를 사용하면zip()을 사용하여 목록을 튜플으로 변환하거나range()를 사용하여 목록을 사전으로 변환하고 목록 색인을 사용하여 사전을 반복하고 초기화 할 수도 있습니다.

이 두 솔루션은 일반 루프를 사용하여 목록을 사전으로 변환하는 순진한 솔루션보다 나은 솔루션입니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

관련 문장 - Python List

관련 문장 - Python Dictionary