I need to generate an iterator for a deck of cards. I MUST NOT use another import but random.

I don't understand why if I removes cards from the deck after yield I get after a few tries
"ValueError: list.remove(x): x not in list"

Is it because I am changing the deck inside the for? how can I solve it without import deep copy? tnx

```
import random

NUMS_IN_DECK = 13

def take_card():
    type_cards = "diamond", "heart", "spade", "club"
    deck = [(i + 1 ,t)  for i in range(NUMS_IN_DECK) for t in type_cards]

    for i in range(NUMS_IN_DECK * len(type_cards)):
        card_to_return = random.sample(deck, 1)
        yield card_to_return
        deck.remove(card_to_return)

card_iter = take_card()

for i in range(10):
    print(next(card_iter))

```