【问题标题】:How to access values inside a nested dictionary in Python?如何在 Python 中访问嵌套字典中的值?
【发布时间】:2021-04-02 20:34:10
【问题描述】:

我的嵌套字典如下所示:

{'access': {'product': 0, 'phone': 15}, '4.5%': {'product': 0, 'phone': 1}, 'growth': {'product': 0, 'phone': 3}}

我必须计算产品或电话出现的单词的日志可能得分,例如单词 access:

p1=(访问时产品发生的次数)/所有文件中的产品总数

p2=(访问时发生电话的次数)/所有文件中的产品总数

log possible score = p1/p2 --> 然后我必须将其放入另一个字典,其中包含它对应的单词,例如 {access: log possible score, 4.5: log possible score}

我已经有了所有文件中产品和电话的总数。

我的问题是,我将如何访问与字典中每个单词的产品和电话相关联的号码?在这个单词“access”的例子中,product 出现了 0 次,phone 出现了 15 次。我如何访问 0 和 15(对于其余的词也是如此)?

更新我尝试过的东西:

for key,value in d:
        product = value["product"]
        phone = value["phone"]
        print(key,product,phone)

^这让我误以为要解压的东西太多了

for i in d.values():
        print(i)
        for j in d[i].values():
            print(j)

^这让我得到错误:不可散列类型:dict

for key,value in d.items():
        print("Key: ",key) #Key: access
        print("Value: ", value) #Value: {'product': 0, 'phone': 15}

^ 我已经尝试过了,它可以工作,但是我无法获取值 0 和 15。

【问题讨论】:

  • 您可以依次访问每个级别,就像使用嵌套列表一样。你被困在哪里了?
  • 请用您尝试过的代码更新您的问题。
  • 更新了我尝试过的东西!
  • 您的意思是:for key,value in d.items():
  • 是的,我也试过这个:for key,value in d.items(): print("Key: ",key) #Key: access print("Value: ", value) # Value: {'product': 0, 'phone': 15} 可行,但我需要在 value 变量中获取 product 和 phone 的单独值。

标签: python dictionary nested


【解决方案1】:

语法如下:

dict['access']['product']

或:

dict.get('access').get('product')

【讨论】:

    【解决方案2】:
    dictionary = {'access': {'product': 0, 'phone': 15}, '4.5%': {'product': 0, 'phone': 1}, 'growth': {'product': 0, 'phone': 3}}
    print(dictionary['access']['phone']) # prints 15
    

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 2015-08-29
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-17
      • 1970-01-01
      • 2018-02-09
      相关资源
      最近更新 更多