【问题标题】:Percentages within dictionaries?字典中的百分比?
【发布时间】:2017-02-07 03:00:40
【问题描述】:
dict1 = {'Milky': ['yes', 'no', 'no', 'yes', 'no'],
         'Chocolate': ['yes', 'no', 'yes', 'yes', 'no']  }  

for j in dict1:

Chocolate 和 Milky 是条件(实验中),'yes''no' 是它们对每个试验的响应。

我想计算牛奶状态 (2 / 5 * 100) 和巧克力状态下 'yes' 的百分比,但我不知道该怎么做。

【问题讨论】:

  • 简单。获取“是”响应的数量,除以响应的总数,再乘以 100。
  • 这就是我一直在尝试做的,但代码似乎不起作用。你有这方面的代码吗?
  • @Anonypy:你有什么代码似乎不起作用?

标签: python python-2.7 dictionary


【解决方案1】:

我会创建一个百分比函数:

def percentage(of, in_):
    return in_.count(of) * 100 / len(in_)

然后将其应用到字典理解中:

>>> dct = {'Milky': ['yes', 'no', 'no', 'yes', 'no'], 
...        'Chocolate': ['yes', 'no', 'yes', 'yes', 'no']}
>>>
>>> {key: percentage('yes', values) for key, values in dct.items()}
{'Chocolate': 60.0, 'Milky': 40.0}

【讨论】:

  • 谢谢!但是,我的目标是将巧克力的百分比和乳白色的百分比放在两个单独的变量中。这可能吗?
  • 只需将结果保存在变量中:result = {key: percentage(value, 'yes') for key, value in dct.items()} 并获取值访问result['Milky']result['Chocolate']
  • Nitpick:我会重命名 inpsearch。目前尚不清楚它们是什么。
  • 嘿,是的,我刚刚循环并使用了“if”语句。谢谢!
  • @BrandonIbbotson 你说得对,当时我的创造力不是很强,我希望他们现在变得更好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
相关资源
最近更新 更多