import random
import math
count = 0
def print2D(list) :
for row in range(0, 4):
for col in range(0, 3):
print(list[row][col], end = ' ')
print(' ')
list = [[random.randint(0, 5) for x in range(3)] for y in range(4)]
print2D(list)
这是我目前的代码。我需要创建一个新函数来查找和计算列表中的偶数。偶数不需要加起来,我只需计算有多少。我是Python的新手,我的讲座视频并没有多大帮助。这是我到目前为止所尝试的:
1)
count = 0
if list % 2 == 0 :
count += 1
print(count)
num是列表
和2)拆分列表。该列表是随机的,所以我不确定如何拆分列表
答案 0 :(得分:1)
这是使用列表理解的一种方式:
lst = [[random.randint(0, 5) for x in range(3)] for y in range(4)]
print(lst)
print(len([item for sublst in lst for item in sublst if item%2 == 0]))
# [[4, 3, 4], [4, 2, 2], [5, 3, 4], [5, 1, 1]]
# 6
我们形成一个仅包含来自lst
的偶数的列表。然后,len()
计算该列表中的项目数。
答案 1 :(得分:1)
与theausome的答案类似,但没有列出清单:
>>> lst = [[random.randint(0, 5) for x in range(3)] for y in range(4)]
>>> lst
>>> [[0, 4, 5], [1, 2, 2], [0, 0, 0], [0, 4, 5]]
>>> sum(1 for sublst in lst for item in sublst if item%2 == 0)
9
你也可以写if not item%2
而不是if item%2 == 0
,但我更喜欢更明确的版本。
答案 2 :(得分:0)
import random
import math
def count(list):
count = 0
for row in range(0, 4):
for col in range(0, 3):
if list[row][col] % 2 == 0 :
count+= 1
print('Total Even Numbers :',count)
print(list)
list = [[random.randint(0, 5) for x in range(3)] for y in range(4)]
count(list)
输出:总偶数:4
[[3,5,0],[5,1,4],[4,2,3],[3,1,1]]
答案 3 :(得分:0)
我希望你能更清楚。
import random
import math
def count(list):
return len([item for sublst in lst for item in sublst if item%2 == 0])
lst = [[random.randint(0, 5) for x in range(3)] for y in range(4)]
print(count(lst))
由于
答案 4 :(得分:0)
,如果要对一个范围内的所有值求和:
print(sum(1 for i in range(a,b) if i%2 == 0))