python - 如何在列表列表中创建最大值列表(python)

标签 python list max

在所有的小列表中,我必须制作一个列表,其中每个列表中的偶数最大。如果列表中有奇数,则最大值为 0。到目前为止,我的代码是:

a=[]
b=[]
c=''
d=''
e=''
for i in range (len(res)):
    for j in range (len(res)):
        d=res[i][j]
        if (d%2 == 0):
            d=d
            a.append(d)
        else:
            d= 0
            a.append(d)
    c = max(a)
    b.append(c)
print b

列表是[[1,2,3],[6,5,4],[5,7,9]],我需要获取[2,6 ,0] 但我不断得到 [2,6,6]

最佳答案

由于 max 函数接受一个可迭代对象,因此您可以使用:

>>> a = [[1,2,3],[6,5,4],[5,7,9]]
>>> [max([m for m in i if m % 2 == 0] or [0]) for i in a]
[2, 6, 0]

其中 [m for m in i if m % 2 == 0] 获取偶数列表,而 max([m for m in i if m % 2 == 0] 或 [0]) 获取最大偶数(包括负数),如果不存在偶数,则获取 0。

>>> a = [[1,2,3],[6,5,4],[5,7,9,-2]]
>>> [max([m for m in i if m % 2 == 0] or [0]) for i in a]
[2, 6, -2]

关于python - 如何在列表列表中创建最大值列表(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27199832/

相关文章:

python - 使用 BeautifulSoup4 从 CSS3 伪元素获取内容

python - 在 matplotlib 中水平显示单选按钮

python - 将控制台信息捕获到 python 中的文件中

python - 在 Python 中并排连接列表中的单词

Python函数长参数列表

Java 8 将对象添加到列表的有效方法

mysql - 希望通过结合最大(或最小)对组进行一些澄清

python - 使用 Win32com 从 Python 中处理 Excel 消息框

c - 如何使用 rand() 生成一个范围内的数字?

javascript - 使用javascript获取数组的第一和第二高值