繁体   English   中英

如何对列表中的某些浮点数求和

[英]How to sum certain floats in a list

我想知道如何仅总结此列表中的浮点数,

list = ['abc', 3.0, 2.0, 2.0, 0.0, 1.0, 0.0, 0.0]

我找不到如何排除第一个字符串。 我想做点什么

range(1, len(list))

因为它需要在长度更长的列表上工作,也许类似的东西具有相同的效果? 对于蟒蛇 3

您可以在sum()isinstance()中使用生成器来检查某物是否为浮点数。

>>> lst = ['abc', 3.0, 2.0, 2.0, 0.0, 1.0, 0.0, 0.0]
>>> sum(x for x in lst if isinstance(x, float))
8.0

注意你不应该使用list作为变量名,因为它会覆盖内置的list类。

my_list = ['abc', 3.0, 2.0, 2.0, 0.0, 1.0, 0.0, 0.0]
sum = 0
for i in my_list:
    if type(i) is float:
        sum += i
print(sum)

这将导致总和为 8.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM