>백엔드 개발 >파이썬 튜토리얼 >Python에서 테이블 형식 목록을 사전으로 효율적으로 변환하려면 어떻게 해야 합니까?

Python에서 테이블 형식 목록을 사전으로 효율적으로 변환하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-07 06:24:12209검색

How Can I Efficiently Convert a Tabular List to a Dictionary in Python?

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

프로그래밍에서 데이터가 표 형식으로 구성되는 시나리오를 자주 접하게 됩니다. 짝수 인덱스는 키를 나타내고 홀수 인덱스는 해당 값을 나타내는 목록입니다. 작업은 이 목록을 사전으로 변환하는 것입니다.

해결책:

이 변환을 수행하는 가장 깔끔하고 효율적인 방법은 Python의 내장 함수를 활용하는 것입니다.

b = dict(zip(a[::2], a[1::2]))

이 코드는 목록 a를 효과적으로 반복하며 확장 슬라이스 연산자 [::2]를 사용하여 슬라이스합니다. 다른 모든 요소를 ​​건너뜁니다. 결과는 두 개의 목록입니다. a[::2]에는 키가 포함되고 a[1::2]에는 값이 포함됩니다. 그런 다음 이 목록은 dict() 함수를 사용하여 사전을 구성하는 데 사용됩니다.

큰 목록의 경우 임시 목록 생성을 피하기 위한 대체 접근 방식이 권장됩니다.

from itertools import izip
i = iter(a)
b = dict(izip(i, i))

이 방법은 다음을 사용합니다. 목록에 대한 반복자를 생성하는 iter() 함수 a. izip() 함수(또는 Python 3의 zip())는 각 반복자의 요소를 인터리브하여 키와 값의 튜플을 생성하는 새로운 반복자를 만듭니다. 그런 다음 이러한 튜플은 dict()에 전달되어 사전을 구성합니다.

Python 3에서 구문상 편리한 또 다른 방법은 다음과 같습니다.

b = {a[i]: a[i+1] for i in range(0, len(a), 2)}

이 코드는 목록을 반복하는 사전 이해를 사용합니다. 키와 값을 조합하여 새 사전으로 만듭니다.

Python 3.8 및 나중에 "바다코끼리" 연산자(:=)를 사용하면 한 줄로 간결하게 작성할 수 있습니다.

b = dict(zip(i := iter(a), i))

위 내용은 Python에서 테이블 형식 목록을 사전으로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.