Если вы хотите вставить элемент в произвольном месте в вашем списке, используйте self.cards.insert(random.randint(0, len(self.cards)), card)
.
Обратите внимание, что при этом будет O (n) и будет иметь ту же сложность во время выполнения, что и random.shuffle(self.cards)
.
В качестве альтернативы вы можете сделать:
self.cards.append(item)
last_index = len(self.cards) - 1
random_index = random.randint(0, last_index)
# Swap elements.
self.cards[random_index], self.cards[last_index] = \
self.cards[last_index], self.cards[random_index]
Что должно быть быстрее, чем вставка в середину списка.Тем не менее, это может показаться сомнительным, поскольку включает в себя перемещение какой-то другой карты до конца.(Но поскольку колода должна быть перетасована, это на самом деле не должно иметь значения.)