Python:如何从随机列表中计算偶数

时间:2018-04-16 05:45:53

标签: python

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)拆分列表。该列表是随机的,所以我不确定如何拆分列表

5 个答案:

答案 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))