我正在尝试从带有条件的嵌套列表中获取最小值,但我不确定如何以pythonic方式将两个或多个条件传递给最小值函数。
a = [['246','Y','','29386.00','29387.00'],['247','N','','29286.00','29287.00'],[' 248','N','','','20919.00'],['249','N','','20918.00','20928.00'],['250','N','' ,'29266.00','29267.00']]
在上面的列表中,仅当第3个元素不为零或为null且内部列表中的第二个元素为“ N”时,我才想获取第3个元素的最小值。
因此,对于上面的列表示例,返回的最小值应为20918,但我正在空白。
尝试过:
>>> min(x[3] for x in a if x[1] == 'N')
''
>>>
谢谢。
答案 0 :(得分:1)
尝试以下操作:min([x[3] for x in a if x[1] == 'N' and x[3] != ''])
问题是:
'20918'
,而不是整数,即20918
x[3]
值之一是一个空字符串,它“小于”一个非空字符串