c = d[s[0]]
其中c
是一个新变量,d
是一个字典,s
是一个列表。将字典值赋给变量,其中key == list [element]
我正在试图做的是将一个键的值分配到c
从我的列表中第一个元素相同。我知道密钥在字典中,列表的第一个元素与该密钥相同。如何将该密钥的值分配给变量?我写的代码给了我一个索引错误。
但是,代码:
a = s[0]
c = d[a]
作品。 为什么不是第一次尝试? 这是用于Windows上的Python 2.7的
c = d[s[0]]
其中c
是一个新变量,d
是一个字典,s
是一个列表。将字典值赋给变量,其中key == list [element]
我正在试图做的是将一个键的值分配到c
从我的列表中第一个元素相同。我知道密钥在字典中,列表的第一个元素与该密钥相同。如何将该密钥的值分配给变量?我写的代码给了我一个索引错误。
但是,代码:
a = s[0]
c = d[a]
作品。 为什么不是第一次尝试? 这是用于Windows上的Python 2.7的
我不知道为什么它不适合你。毕竟,您的list
也许没有填充。这应该工作 -
>>> d={'world':'hunger'}
>>> s=['world']
>>> d[s[0]]
'hunger'
>>> c = d[s[0]]
>>> c
'hunger'
>>>
而且Python字典有一个名为has_key
一个漂亮的功能。它会检查该字典中是否存在密钥。我使用这个来防止KeyError
异常...你可以考虑使用它来防止意外崩溃。
谢谢你,这有助于很多 – user2243208 2013-04-11 04:40:57
我不介意吝啬,但请友善地指出原因。 – user2243208 2013-04-06 20:04:02
我没有让你失望,但这很可能是由于你给我们的东西完全不可能给你一个准确的答案。你没有包含相关的代码。 – 2013-04-11 04:33:47
对不起,我没有我写的代码。基本上我所拥有的是一个列表,以及该列表的直方图字典。我对列表进行了排序,然后取出第一个元素并尝试拉取匹配键的值。我的代码应该像@Srikar Appal一样工作,但出于某种原因不断出现索引错误。不幸的是,我无法分辨列表或字典上的索引是否已超出索引。我认为这是我写这个陈述的方式的一个问题,因为替代方法的工作没有问题。 – user2243208 2013-04-11 04:45:21