2013-06-01 90 views
0

我想用包含列表中值的索引位置的鍵創建字典。我使用python 2.7。再看看我的嘗試:python:帶有列表索引的字典理解

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

美麗的正常工作。 Python是最好的! 另外,可以像建議的[這裏](http://stackoverflow.com/a/3303640/929164)那樣從特定值開始枚舉, –

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

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