【发布时间】:2018-05-15 14:49:49
【问题描述】:
我正在尝试从python中等于某个值的元组列表中获取第n个元素
我有一个更大的类似这样的列表
num = [('A15', 2, 'BC', 721.16), ('A21', 3, 'AB', 631.31), ('A42', 4, 'EE', 245.43)]
我希望只提取元组的第 2 个元素等于给定值的元组,即本例中的 2,并从中找到最大的第 4 个元素
目前我的代码如下所示
for ((x[1] for x in num) = 1):
num_max = max(num_list,key=lambda item:item[3])
问题与将列表理解设置为一个值有关,因为这就是给我一个语法错误的原因
抱歉,如果已经回答但我找不到它
【问题讨论】:
-
这不是python中有效的for循环
-
max([i for i in num if i[1] == 2], key=lambda x: x[3]) -
max([i for i in x if i[1] == 2], key=lambda x: x[3])[3]如果你只想要元素 -
更重要的是,
for ((x[1] for x in num) = 1):应该做什么?