2013-04-05 48 views
1

c = d[s[0]]其中c是一個新變量,d是一個字典,s是一個列表。將字典值賦給變量,其中key == list [element]

我正在試圖做的是將一個鍵的值分配到c從我的列表中第一個元素相同。我知道密鑰在字典中,列表的第一個元素與該密鑰相同。如何將該密鑰的值分配給變量?我寫的代碼給了我一個索引錯誤。

但是,代碼:

a = s[0] 
c = d[a] 

作品。 爲什麼不是第一次嘗試? 這是用於Windows上的Python 2.7的

+0

我不介意吝嗇,但請友善地指出原因。 – user2243208 2013-04-06 20:04:02

+0

我沒有讓你失望,但這很可能是由於你給我們的東西完全不可能給你一個準確的答案。你沒有包含相關的代碼。 – 2013-04-11 04:33:47

+0

對不起,我沒有我寫的代碼。基本上我所擁有的是一個列表,以及該列表的直方圖字典。我對列表進行了排序,然後取出第一個元素並嘗試拉取匹配鍵的值。我的代碼應該像@Srikar Appal一樣工作,但出於某種原因不斷出現索引錯誤。不幸的是,我無法分辨列表或字典上的索引是否已超出索引。我認爲這是我寫這個陳述的方式的一個問題,因爲替代方法的工作沒有問題。 – user2243208 2013-04-11 04:45:21

回答

1

我不知道爲什麼它不適合你。畢竟,您的list也許沒有填充。這應該工作 -

>>> d={'world':'hunger'} 
>>> s=['world'] 
>>> d[s[0]] 
'hunger' 
>>> c = d[s[0]] 
>>> c 
'hunger' 
>>> 

而且Python字典有一個名爲has_key一個漂亮的功能。它會檢查該字典中是否存在密鑰。我使用這個來防止KeyError異常...你可以考慮使用它來防止意外崩潰。

+0

謝謝你,這有助於很多 – user2243208 2013-04-11 04:40:57