【发布时间】: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