例如,列表为[1,2,3]
,[4,5,6]
和[7,8,9]
。我想在所有列表中只添加偶数,所以这将是2 + 4 + 6 + 8 = 20。我该怎么做呢?
答案 0 :(得分:1)
你可以这样做,例如:
l = [[1,2,3], [4,5,6], [7,8,9]]
sum(val for v in l for val in v if val % 2 ==0)
答案 1 :(得分:1)
只需循环遍历每个列表,并总结偶数值。
theSum = 0
lists = [[1,2,3],[4,5,6],[7,8,9]]
for list in lists:
for item in list:
if item % 2 == 0:
theSum += item
此上下文中使用的(%)符号称为模数,当数字除以另一个时,它将返回余数的数量。到目前为止的例子中,任何可以除以2而没有任何余数的数字都是偶数,例如8%2返回0.
if item % 2 == 0:
theSum += item
正如您在if语句中所看到的,我们会检查所有项目并测试它们是否可以除以2而不会留下余数。如果它们可以,我们将它们加在一起。
答案 2 :(得分:0)
a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
sum = 0
for x in a+b+c:
if x%2 == 0:
sum += x
答案 3 :(得分:0)
有很多解决方案,但这是一个很好的开始。
您可以将所有列表合并为一个列表:
lst =[1,2,3] + [4,5,6] + [7,8,9]
然后你可以列出一个简单的列表:
new_list = [n for n in lst if is_even(n)]
注意:你必须写is_even
def is_even(n):
# return True if even
# otherwise return False
然后,您可以遍历列表并将列表中的所有数字相加。
答案 4 :(得分:0)
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
sum(filter(lambda x:x%2==0,a+b+c))