【问题标题】:Get value from Dictionary, Python从字典、Python 中获取价值
【发布时间】:2018-07-08 11:07:07
【问题描述】:

我在从字典中获取一个特定值时遇到问题。假设它看起来像那样

currency = {'bat (Tajlandia)': 0.1062},{'dolar amerykański': 3.3375},{'dolar australijski': 2.6997},{'dolar Hongkongu': 0.4268},{'dolar kanadyjski': 2.7015},{'dolar nowozelandzki': 2.4441},{'dolar singapurski': 2.5486},{'euro': 4.1423},{'forint (Węgry)': 0.013388},{'frank szwajcarski': 3.5625}

我想得到这样的输出:

print(dictionary['euro'])

4.1423

当然,我看到货币有很多字典,我尝试使用 FOR 循环,但我可以得到很多“无”,我只需要得到一个结果。

【问题讨论】:

  • 您发布的是字典元组,而不是字典,并且不会是您从 JSON 中获得的东西。请给出实际的minimal reproducible example

标签: python json python-3.x api


【解决方案1】:

这是怎么回事:

print(currency['euro'])

应该打印出来:

4.1423

您的货币 OTOH 必须是这样的(您缺少 {} 以及字典中的一些字典相关内容):

currency = {
   'bat (Tajlandia)': 0.1062,
   'dolar amerykański': 3.3375,
   'dolar australijski': 2.6997,
   ...
   'euro': 4.1423,
   'forint (Węgry)': 0.013388,
   'frank szwajcarski': 3.5625
}

【讨论】:

  • 我需要看起来像货币的东西,但我买不到。你知道我怎么能把我的“货币”换成你的吗?它会解决我的问题。谢谢
【解决方案2】:

仅适用于该结构:

#type(currency) # tuple
#type(currency[0]) # dict
for item in currency:
    if 'euro' in item.keys():
        # print(item) # {'euro': 4.1423}
        print(item['euro']) # 4.123

【讨论】:

    【解决方案3】:

    要将您的 currency 字典元组转换为所需的 dictionary,您可以执行以下操作:

    currency = {'bat (Tajlandia)': 0.1062},{'dolar amerykański': 3.3375},{'dolar australijski': 2.6997},{'dolar Hongkongu': 0.4268},{'dolar kanadyjski': 2.7015},{'dolar nowozelandzki': 2.4441},{'dolar singapurski': 2.5486},{'euro': 4.1423},{'forint (Węgry)': 0.013388},{'frank szwajcarski': 3.5625}            
    dictionary = {k:v for d in currency for k, v in d.items()}
    print(dictionary['euro'])
    

    这将显示:

    4.1423
    

    【讨论】:

      猜你喜欢
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      相关资源
      最近更新 更多