주어진 목록 에서 한 줄로 사전을 만들고 싶습니다 . 사전의 키는 인덱스가되고 값은 목록의 요소가됩니다. 이 같은:
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}
열거 형 개체를 반환합니다. sequence 는 sequence, iterator 또는 반복을 지원하는 다른 객체 여야합니다 . 에서
next()
반환 된 반복기 의 메서드는 개수 ( 시작부터 기본값은 0)와 시퀀스 반복에서 얻은 값을 포함 하는를 반환enumerate()
합니다 .tuple
답변
다른 생성자를 사용하면
a = [51,27,13,56] #given list
d={i:x for i,x in enumerate(a)}
print(d)
답변
시도해보십시오 enumerate
: 튜플 목록 (또는 반복자)을 반환 (i, a[i])
합니다 dict
.
a = [51,27,13,56]
b = dict(enumerate(a))
print b
답변
{x:a[x] for x in range(len(a))}
답변
목록 이해력을 사용하십시오.
a = [51,27,13,56]
b = dict( [ (i,a[i]) for i in range(len(a)) ] )
print b