如何在 python 列表中追加元素时检查元素?

How to check element as you append element in python list?

python 新手,之前的编程经验有限,我正在尝试创建纸牌游戏作为学习工具。第一步是发牌。我知道有很多方法可以做到这一点,包括创建卡片对象和交易方法。那将在以后出现。

现在,我想随机生成套件和数字,将这些值连接成一个字符串并将元素追加到列表中。发牌时,新生成的元素将与列表中已有的元素进行比较,看它是否重复。如果是,则重新生成元素。我在将元素添加到列表时无法检查元素。我在这个主题上发现的所有内容都是根据静态已知值检查列表。当新元素添加到列表中时,我想根据列表中已有的元素动态检查元素。以下是我到目前为止所拥有的。非常感谢任何帮助!


import random

player_count =int(input('Welcome! How many players? '))

for i in range (player_count):

    x = random.randint(1,13)
    y = random.choice(['-Spade','-Heart','-Diamond','-Club'])
    card_set =[str(x) + y]
    if card_set not in card_set:
        card_set.append
        print(card_set)

而不是在 if 条件之前设置 card_set,您应该创建另一个变量并分配新结果。如果新结果不在 card_set 中,则继续。

player_count = int(input('Welcome! How many players? '))
for i in range (player_count):
    x = random.randint(1,13)
    y = random.choice(['-Spade','-Heart','-Diamond','-Club'])
    card = str(x) + y
    if card not in card_set:
        #do some stuff

您设置 card_set 每次通过循环时都是新鲜的。

saved = []
for i in range(10):
    draw = new_draw() # returns a string
    if draw not in saved:
        saved.append(draw)