Благодаря переполнению кучи я нахожу решение.
self.player1_cards = [
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91), ''],
[random.randint(1, 91), random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91)],
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91),
'', random.randint(1, 91), '', random.randint(1, 91)]
]
self.player2_cards = [
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91), ''],
[random.randint(1, 91), random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91)],
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91),
'', random.randint(1, 91), '', random.randint(1, 91)]
]
Я создал такую карту. После этого:
for i in range(0, 3):
ordered = iter(sorted(x for x in self.player1_cards[i] if x != ''))
self.player1_cards[i] = [
next(ordered) if x != '' else '' for x in self.player1_cards[i]]
for j in range(0, 3):
ordered1 = iter(
sorted(x for x in self.player2_cards[j] if x != ''))
self.player2_cards[j] = [
next(ordered1) if x != '' else '' for x in self.player2_cards[j]]
С этими l oop я получаю то, что хочу. Это результат:
Player1:
[[3, '', 4, '', 40, '', 50, '', 62, 75, ''], [4, 17, '', 33, '', 36, '', 38, 72], [17, '', 51, '', 56, '', 63, '', 64]]
Player 2:
[[14, '', 32, '', 39, '', 77, '', 86, 87, ''], [17, 49, '', 61, '', 62, '', 71, 89], [12, '', 13, '', 50, '', 74, '', 80]]