在 Python 中对包含 None 值的列表求和

在 Python 中对包含 None 值的列表求和

Sum a list that contains None values in Python

对包含None值的列表求和:

  1. 使用该filter()函数从列表中删除None值。
  2. filter对象传递给sum函数。
  3. sum函数将对列表中的数字求和。
主程序
my_list = [2, None, 4, None, 6, None] total = sum(filter(None, my_list)) print(total) # 👉️ 12

我们使用该filter()函数从列表中删除None值。

filter函数接受一个函数和一个可迭代对象作为参数,并从可迭代对象的元素构造一个迭代器,函数返回一个真值。

如果您传递None函数参数,则 iterable 的所有虚假元素都将被删除。

主程序
my_list = [2, None, 4, None, 6, None] # 👇️ [2, 4, 6] print(list(filter(None, my_list)))

所有不真实的值都被认为是虚假的。Python 中的虚假值是:

  • 定义为 falsy 的常量:NoneFalse.
  • 0任何数字类型的(零)
  • 空序列和集合:(""空字符串),()(空元组),[]
    (空列表),
    {}(空字典),set()(空集),range(0)(空范围)。

最后一步是将filter对象传递给sum()函数。

主程序
my_list = [2, None, 4, None, 6, None] total = sum(filter(None, my_list)) print(total) # 👉️ 12

sum函数接受一个可迭代对象,从左到右对其项目求和并返回总数。

主程序
print(sum([2, 4, 6])) # 👉️ 12

sum函数采用以下 2 个参数:

姓名 描述
可迭代的 要求和其项目的可迭代对象
开始 start对可迭代对象的值和项目求和。sum默认为0(可选)

发表评论