code

하나의 라이너: 인덱스를 키로 하는 목록에서 사전 만들기

starcafe 2023. 6. 22. 22:06
반응형

하나의 라이너: 인덱스를 키로 하는 목록에서 사전 만들기

주어진 목록에서 한 줄로 사전을 만들고 싶습니다.사전의 키는 색인이 되고 값은 목록의 요소가 됩니다.이와 같은 것:

a = [51,27,13,56]         #given list

d = one-line-statement    #one line statement to create dictionary

print(d)

출력:

{0:51, 1:27, 2:13, 3:56}

왜 한 줄을 원하는지에 대한 구체적인 요구사항은 없습니다.저는 단지 파이썬을 탐험하고 있는데, 그것이 가능한지 궁금합니다.

a = [51,27,13,56]
b = dict(enumerate(a))
print(b)

을 생산할 것입니다.

{0: 51, 1: 27, 2: 13, 3: 56}

enumerate(sequence, start=0)

열거형 개체를 반환합니다. 시퀀스는 시퀀스, 반복기 또는 반복을 지원하는 다른 개체여야 합니다.next()에 의해 반환된 반복기의 방법enumerate()를 반환합니다.tuple카운트(시작부터 기본값 0) 및 시퀀스를 반복하여 얻은 값 포함:

다른 생성자를 사용하면 다음과 같은 작업이 수행할 수 있습니다.

a = [51,27,13,56]         #given list
d={i:x for i,x in enumerate(a)}
print(d)
{x:a[x] for x in range(len(a))}

해라enumerate튜플 목록(또는 반복기)을 반환합니다.(i, a[i])당신이 구축할 수 있는 곳.dict:

a = [51,27,13,56]  
b = dict(enumerate(a))
print b

단순히 목록 이해력을 사용합니다.

a = [51,27,13,56]  
b = dict( [ (i,a[i]) for i in range(len(a)) ] )
print b

언급URL : https://stackoverflow.com/questions/16607704/one-liner-creating-a-dictionary-from-list-with-indices-as-keys

반응형