Изменить элементы в списке кортежей - PullRequest
0 голосов
/ 25 марта 2020

Хорошо, у меня есть этот список, который состоит из небольших списков кортежей:

cards=[[(0, 0), (0, 0)], [(6, '♥'), (6, '♦')], [(7, '♥'), (7, '♦')], [(7, '♥'), (7, '♦')], [(7, '♥'), (7, '♦')]]

Моя проблема в том, что я хочу изменить меньшие списки на [[(0, 0), (0, 0)]], чтобы моя программа их игнорировала, как я могу сделать так, чтобы там оставались только большие кортежи?

ожидаемый результат должен быть таким:

cards=[[(0, 0), (0, 0)],[(0, 0), (0, 0)], [(7, '♥'), (7, '♦')], [(7, '♥'), (7, '♦')], [(7, '♥'), (7, '♦')]]

но для этого вопроса мне не нужно знать, как изменить список кортежей в [(0, 0), (0, 0)] мне просто нужно знать, как сбросить [(6, '♥'), (6, '♦')]

, а первая [(0, 0), (0, 0)] - это одна карта, которая уже была сброшена, она не всегда может быть такой, только для сглаживания

1 Ответ

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

Удаление значений:

highest_pairs = list(filter(lambda x: x == max(cards), cards))

Замена значений:

cards = [item if item in highest_pairs else [(0,0), (0,0)] for item in cards]
...