Hello, I'm trying to make a card game with objects. Here's my class deck and my class hand: Code: class Deck: def __init__(self): self.deckcardlist = [] def Populate(self): for r in Card.RANK: for s in Card.SUIT: card = Card(r, s ) deckcardlist.append(card) self.deckcardlist = cardlist def Shuffle(self): random.shuffle(self.cardlist) def Deal(self, Hand): if self.deckcardlist != []: card = self.deckcardlist[0] handlist.append(card) self.deckcardlist.remove(deckcardlist[0]) <--------------------------------- else: print("Out of cards!") def AdditionalCards(self, genericplayer): pass class Hand: def __init__(self): self.hand = [] def AddCard(self): self.hand def Clear(self): self.hand = [] but now in my deal function I have to remove the card that i deal and the only thing I can imagine is self.deckcardlist.remove(deckcardlist[0]) which evidently doesn't make sense. so how do can i do it? N.B: I'm just starting to code so please dumb it down