【问题标题】:Assign a dictionary value to a variable where key == list[element]将字典值分配给 key == list[element] 的变量
【发布时间】:2013-03-27 12:37:56
【问题描述】:

c = d[s[0]] 其中c 是一个新变量,d 是一个字典,s 是一个列表。

我正在尝试将与列表中的第一个元素相同的键的值分配给c。我知道键在字典中,并且列表的第一个元素与该键相同。如何将该键的值分配给变量?我写的代码给了我一个超出索引的错误。

但是,代码:

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

有效。 为什么第一次尝试不起作用? 这适用于 Windows 上的 Python 2.7

【问题讨论】:

  • 我不介意被减分,但请说明原因。
  • 我没有对你投反对票,但这很可能是因为你给我们的内容完全不可能给你一个准确的答案。您没有包含相关代码。
  • 对不起,我已经没有我写的代码了。基本上我拥有的是一个列表,以及该列表的直方图字典。我对列表进行了排序,然后取出第一个元素并尝试提取匹配键的值。我的代码应该可以按照@Srikar Appal 发布的那样工作,但由于某种原因不断出现索引错误。不幸的是,我不知道它是否超出了列表或字典的索引。我认为这是我编写语句的方式有问题,因为替代方法一直没有问题。
  • 赞成以抵消反对票...

标签: python list python-2.7 dictionary


【解决方案1】:

我不知道为什么它不适合你。也许你的list 毕竟没有填充。这应该工作 -

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

Python 字典还有一个很棒的功能,叫做has_key。它检查该字典中是否存在密钥。我使用它来防止KeyError 异常...您可以考虑使用它来防止意外崩溃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 2012-11-05
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多