Lambda Python在具有两个条件的嵌套列表中查找最小值
我试图从带有条件的嵌套列表中获取最小值,但我不确定如何以python方式将两个或多个条件传递给最小值函数 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'] 在上面的列表中,我只想在第三个元素不为零或null且内部列表中的第二个元素为“N”时,获得第三个元素的最小值 因此,对于上面的列表示例,返回的最小值应该是20918,但我变为空 我试过这个:Lambda Python在具有两个条件的嵌套列表中查找最小值,lambda,conditional-statements,nested-lists,Lambda,Conditional Statements,Nested Lists,我试图从带有条件的嵌套列表中获取最小值,但我不确定如何以python方式将两个或多个条件传递给最小值函数 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'] 在上面的列表中,我只想在第三个元素不为零或null且内部列表中的第二个元素为“N”时,获
>>> min(x[3] for x in a if x[1] == 'N')
''
>>>
提前谢谢。试试这个:min([x[3]表示如果x[1]='N'和x[3]!='')的话,
问题是:
- 您正在比较的值是字符串,例如
,而不是整数,即'20918'
20918
值之一是空字符串,它“小于”非空字符串x[3]
x[3]
给定的x
-这取决于你想要完成什么。他们的关键是理解字符串比较问题:)