如何将变量与集合进行比较(查看是否有重复项),如果有,我如何删除它们并重复该过程?

How to compare a variable with a set (to see if there are duplicates) and if there are, How do i remove them and repeat the process?

我是新来的,如果这不是一个很好的提问方式,我很抱歉...

这是我的代码:

import random
i = 0
#the numbers of the cards
numbers = ["A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"]
#the suits of decks
suits = ["Spades","Hearts","Clubs","Diamonds"]
#empty list
used = []
#Generate random Number and Suit
while i != 5:
    number = random.choice(numbers)
    suit = random.choice(suits)
    print (number+" of "+suit)
    used.append(number + " of " + suit)
    i += 1

我想要实现的是让代码生成一系列 5 张卡片(无重复),然后打印这些...

但我不知道如何摆脱(和重复代码)重复项

我目前得到的是:

黑桃K 黑桃K 红桃皇后 俱乐部的一个 红心 6 ['King of Spades'、'King of Spades'、'Queen of Hearts'、'A of Clubs'、“红心 6”]

提前致谢!

试试这个:

import itertools
import random
numbers = ["A","2","3","4","5","6","7","8","9","10","Jack","Queen","King"]
#the suits of decks 
suits = ["Spades","Hearts","Clubs","Diamonds"]
deck=list(itertools.product(numbers,suits))
random.shuffle(deck)
for i in range(5):
    print( deck[i][0],'of' ,deck[i][1])

要消除重复的卡片,请尝试添加如下行:

# Generate random Number and Suit
while i != 5:
    number = random.choice(numbers)
    numbers.remove(number) ###
    suit = random.choice(suits)
    print(number + " of " + suit)
    used.append(number + " of " + suit)
    i += 1