比较列表中的项目并选择大的

2024-06-28 20:08:02 发布

您现在位置:Python中文网/ 问答频道 /正文

lista = [['Apertura','174830','Apertura - Home - Header_n','Variable (950x90)','AR','1','0','0.82','81','1.23',0.3,3],
         ['Apertura','174830','Apertura - Home - Header_n','Variable (950x90)','AR','1','0','0.82','81','1.23',0.25,5]
]

我需要比较我名单上的所有项目。 在每个项目中,我们使用除最后两个项目之外的所有项目进行比较。 如果有相同的项目,我们将选择最后一个项目中数量最少的项目进行比较

>>>['Apertura','174830','Apertura - Home - Header_n','Variable (950x90)','AR','1','0','0.82','81','1.23',0.3,3]

我用过这张表格,但我知道我不能用它。你知道吗

lista = [min(g, key=itemgetter(-2)) for _, g in groupby(lista, key=lambda s: s[:-2])]

Tags: 项目keyinhomefor数量minvariable
2条回答

为什么不使用sorted with key参数而不是itertools.groupby

print(sorted(lista,key=lambda x: x[-2]))

或:

lista.sort(key=lambda x: x[-2])
print(lista)
  1 lista = [
  2     [
  3         'Apertura','174830','Apertura - Home - Header_n','Variable (950x90)',
  4         'AR','1','0','0.82','81','1.23',0.3,3
  5     ],   
  6     [
  7         'Apertura','174830','Apertura - Home - Header_n','Variable (950x90)',
  8         'AR','1','0','0.82','81','1.23',0.25,5
  9     ]
 10 ]
 11 
 12 if lista[0][:-2] == lista[1][:-2]:
 13     if lista[0][-1] < lista[1][-1]:
 14         print(lista[0])
 15     else:
 16         print(lista[1])

输出

['Apertura', '174830', 'Apertura - Home - Header_n', 'Variable (950x90)', 'AR', '1', '0', '0.82', '81', '1.23', 0.3, 3]

如果我能正确理解你的要求,我们能把清单和最后一项比较一下吗?如果相等,就比较最后一项?你知道吗

相关问题 更多 >