使用python的字典中混合值的总和

使用python的字典中混合值的总和,python,dictionary,Python,Dictionary,你能帮我从下面的字典中找出值的和吗 fun= dict(a=1, b='xyz', c=10, d='rst',e=10) 我的工作: isinstance(fun['b'],(int, float)) t=sum(fun.values()) print(t) 我有兴趣在这里使用for循环。我曾尝试使用sum()函数,但由于存在字符串值,该函数无效。假设您的意思是仅int和浮点值之和: >>> sum(value for value in fun.values() if

你能帮我从下面的字典中找出值的和吗

fun= dict(a=1, b='xyz', c=10, d='rst',e=10)
我的工作:

isinstance(fun['b'],(int, float))

t=sum(fun.values())

print(t)

我有兴趣在这里使用for循环。我曾尝试使用
sum()
函数,但由于存在字符串值,该函数无效。

假设您的意思是仅
int
浮点值之和:

>>> sum(value for value in fun.values() if isinstance(value, (int, float)))
21

使用
过滤器

sum(过滤器(lambda x:isinstance(x,(int,float)),fun.values())
#产出:21

结果是什么?要在字典中查找值的总数,请定义“值之和”。字符串和整数都存在,默认为字符串操作。我正在查找键a、c、e的值之和。输出应为21。JerryM@Hasibul我们如何将a、c和e转化为价值观?@Hasibul不客气!你的问题模棱两可,不清楚你到底想要什么值的和。我在寻找键a、c、e的值的和。输出应为21。这对你有意义吗?你为什么在这里使用lamda函数?您能解释一下吗?@Hasibul它的效果与
for
循环的
判断相同。谢谢你!谢谢你抽出时间。