2013-04-05 28 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