gpt4 book ai didi

python - 单行基于两个字典计算分数

转载 作者:行者123 更新时间:2023-12-03 22:46:33 24 4
gpt4 key购买 nike

我有下表的值:

scores = {
"proxy": 300,
"vpn": 500,
"tor": 900,
"recent_abuse": 1000,
}
和这个带有 bool 值的数据
data = {
"proxy": False,
"vpn": True,
"tor": False,
"recent_abuse": False,
}
我想知道是否可以在一行中(可能使用 itertools)计算基于 data 的分数
我目前的代码是这样的:
if data["proxy"]:
score += 300
if data["vpn"]:
score += 500
if data["tor"]:
score += 900
if data["recent_abuse"]:
score += 1000

最佳答案

total = sum(scores[k] for k, v in data.items() if v)
更好的名称 k : field_name . v : field_value .

我是这样推导出来的:
total = 0
for k, v in data.items():
if v:
total += scores[k]
从那里很容易将它折叠成一条线。

关于python - 单行基于两个字典计算分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67006746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com