Как узнать максимум этого списка кортежей? (Python) - PullRequest
0 голосов
/ 13 марта 2020

Я в порядке, поэтому мне нужен максимум из этого списка:

variable=[[(0, 0), (0, 0)], [(0, 0), (0, 0)], [(0, 0), (0, 0)], [(13, '♠'), (13, '♣'), (3, '♠'), (3, '♥')], [(11, '♥'), (13, '♠'), (11, '♠'), (13, '♣')], [(11, '♥'), (13, '♠'), (11, '♣'), (13, '♣')]]

Я использую эту строку кода, чтобы сделать это, но на самом деле это не работает

print(max(variable,key=lambda x:x[1]))

В печати написано [(13, '♠'), (13, '♣'), (3, '♠'), (3, '♥')], но мне нужен один из двух других, и я не знаю, что делать. Спасибо заранее и извините, если я что-то напутал, я впервые использую переполнение стека для задания вопроса. Я использую python кстати

1 Ответ

1 голос
/ 13 марта 2020

Я считаю, что вам нужно sum элемента 0 в вашем подсписке.

Пример:

variable=[[(0, 0), (0, 0)], [(0, 0), (0, 0)], [(0, 0), (0, 0)], [(13, '♠'), (13, '♣'), (3, '♠'), (3, '♥')], [(11, '♥'), (13, '♠'), (11, '♠'), (13, '♣')], [(11, '♥'), (13, '♠'), (11, '♣'), (13, '♣')]]
print(max(variable, key=lambda x: sum(i for i,_ in x)))
# --> [(11, '♥'), (13, '♠'), (11, '♠'), (13, '♣')]
...