python - 通过 for 循环遍历字典并计算事件数
问题描述
d={a': [True]}
{'b': [True]}
{'c': [True]}
{'d': [True, False, True]}
我想计算每个字母的真假数,然后输出每个数据的真假比。d 的示例:真数 = 2 和假数 = 1。它应该打印 2/1=1 的比率来做到这一点,到目前为止我已经这样做了:
但它一直输出零。为什么?
解决方案
您的值是bool
typeTrue/False
并且您将它们与str
type进行比较'True'
,因此所有内容都将被评估为False
,应该是
if l:
count_s +=1
else:
count_f +=1
Acollections.Counter
也可能非常有用
d = {'a': [True], 'b': [True], 'c': [True], 'd': [True, False, True], 'e': [False]}
for edge, values in d.items():
c = Counter(values)
ratio = c.get(True, 0) / c.get(False, 1)
print(edge, ratio)
a 1.0
b 1.0
c 1.0
d 2.0
e 0.0
推荐阅读
- php - 验证 simple-php-captcha() 输入
- javascript - 从 url 拆分文本
- maven - 从flyway maven插件中的jar迁移
- c# - 为什么堆中的FREE块这么大
- sql - 如何在oracle中旋转以下数据?
- oauth-2.0 - 访问被拒绝。检查凭据并重试。,该过程未能获得正确的属性
- php - 如何在没有插件 Timber 的内容字段中继器中使用自定义字段图像裁剪大小?
- spring-boot - 通过spring boot应用程序在Openfire中创建用户时出现JSON parserError
- javascript - 表单提交中至少需要 1 个复选框
- android - Android 中的领域迁移问题