gpt4 book ai didi

python - lambda 函数对字典中值的乘积求和

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:46 26 4
gpt4 key购买 nike

my_dict = {'a1':2,'a2':3,'b1':1,'b2':5,'b3':8}

我想用相同的数字对标签“a”和“b”的乘积求和。

result = a1*b1 + a2*b2

注意:b3被忽略,因为它没有对应的a3。

我的代码:

result = sum (lambda x * y, if str(key)[0] == a and str(key)[0] ==b and str(key)[1] == str(key)[1], my_dict) 

最佳答案

这里你有足够的逻辑,你应该可能将你的过滤器分解成一个单独的函数:

my_dict = {'a1':2,'a2':3,'b1':1,'b2':5,'b3':8}

def filtered(d):
for key in d:
if not key.startswith('a'):
continue

b_key = "b" + key[1:]

if b_key not in d:
continue

yield d[key], d[b_key]

sum(a * b for a, b in filtered(my_dict))

关于python - lambda 函数对字典中值的乘积求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16805371/

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