首页 > 解决方案 > 如何从python中的元组列表中提取等于值的第n个元素

问题描述

我正在尝试从python中等于某个值的元组列表中获取第n个元素

我有一个更大的类似这样的列表

num = [('A15', 2, 'BC', 721.16), ('A21', 3, 'AB', 631.31), ('A42', 4, 'EE', 245.43)]

我希望只提取元组的第二个元素等于给定值的元组,即在本例中为 2,并从中找到最大的第四个元素

目前我的代码如下所示

for ((x[1] for x in num) = 1):
    num_max = max(num_list,key=lambda item:item[3])

问题与将列表理解设置为一个值有关,因为这给了我一个语法错误

抱歉,如果这已经得到回答,但我找不到它

标签: pythonlisttuplesmax

解决方案


像这样试试

In [1]: num = [('A15', 2, 'BC', 721.16), ('A21', 3, 'AB', 631.31), 
               ('A42', 4, 'EE', 245.43),('A15', 2, 'BC', 856.16)]
In [2]: max((i for i in num if i[1] == 2),key=lambda  x:x[3])
Out[2]: ('A15', 2, 'BC', 856.16)

推荐阅读