2013-06-01 4 views
0

목록의 값의 색인 위치를 포함하는 키로 사전을 만들고 싶습니다. 파이썬 2.7 사용하고 있습니다. 내 시도를 고려파이썬 : 목록 색인이 포함 된 사전 이해

LL = ["this","is","a","sample","list"] 
LL_lookup = {LL.index(l):l for (LL.index(l), l) in LL} 

# desired output 
print LL_lookup[1] 
>> is 

나는이 같은 결과를 얻을 것이다 LL[1]를 예 -에 사전이 필요하지 않다고 인식하고 있습니다. 그럼에도 불구하고 우리는 1)보다 복잡한 예를 들어 사전이 바람직하고 b) 사전 조회가 반복 횟수가 많을 때 미미한 성능 향상을 가져올 수있는 상황을 상상할 수 있습니다.

+0

주'신뢰할 수 없습니다 .index',이 항목의 첫 번째 인덱스가 너무 중복 요소 – jamylak

답변

11
>>> LL = ["this","is","a","sample","list"] 
>>> dict(enumerate(LL)) 
{0: 'this', 1: 'is', 2: 'a', 3: 'sample', 4: 'list'} 
+1

아름다운 제대로 작동하지 않습니다 반환합니다. 파이썬은 최고입니다! 또한 제안 된 [here] (http://stackoverflow.com/a/3303640/929164)와 같은 특정 값에서 열거 형을 시작할 수 있습니다. –

2
inp = ["this","is","a","sample","list"] 

print {idx: value for idx, value in enumerate(inp)}