在 Python 中对包含 None 值的列表求和
Sum a list that contains None values in Python
对包含None
值的列表求和:
- 使用该
filter()
函数从列表中删除None
值。 - 将
filter
对象传递给sum
函数。 - 该
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 的常量:
None
和False
. 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 (可选) |