Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 enumerate() 함수로 딕셔너리 만드는 방법

Python enumerate() 함수란?

파이썬의 enumerate() 함수는 리스트, 튜플, 문자열처럼 반복 가능한(iterable) 모든 객체를 인수로 받아, 각 요소와 그에 대응하는 인덱스를 함께 담고 있는 enumerate 객체를 반환합니다. 이 객체를 사용하면 반복문에서 인덱스와 값을 동시에 다룰 수 있어 매우 유용합니다.

enumerate 객체를 딕셔너리로 변환하기

이렇게 생성된 enumerate 객체는 딕셔너리 컴프리헨션(dictionary comprehension) 또는 dict() 함수를 활용해 손쉽게 딕셔너리로 변환할 수 있습니다. 변환 과정에서 인덱스는 키(key)가 되고, 해당 위치의 요소는 값(value)이 됩니다.

다음 예제는 리스트를 enumerate 객체로 만든 뒤, 이를 딕셔너리로 변환하는 전체 과정을 보여줍니다.

>>> l1=['aa','bb','cc','dd']
>>> enum=enumerate(l1)
>>> enum
<enumerate object at 0x7f9a2c3d4e50>
>>> d=dict((i,j) for i,j in enum)
>>> d
{0: 'aa', 1: 'bb', 2: 'cc', 3: 'dd'}

딕셔너리 컴프리헨션으로 더 간결하게

위 코드는 딕셔너리 컴프리헨션을 사용하면 한 줄로 더 간결하게 작성할 수 있습니다.

>>> d = {i:j for i,j in enumerate(l1)}
>>> d
{0: 'aa', 1: 'bb', 2: 'cc', 3: 'dd'}

또한 enumerate() 함수의 두 번째 인수로 시작 숫자를 지정하면, 인덱스가 0이 아닌 원하는 값부터 시작하도록 설정할 수도 있습니다. 예를 들어 enumerate(l1, start=1)로 호출하면 키가 1부터 시작하는 딕셔너리를 얻게 됩니다.