Python - 只向列表添加一次

时间:2017-04-25 14:53:09

标签: python list python-3.x

我的问题是我只想添加字符串" Karte1"一次到列表。但是现在,字符串" Karte1"正在无限次地添加到列表中.. 希望你能帮助我:)。

import random

Deck1 = []

def startgame():
    try:
        "Karte1" not in Deck1
        if True:
            Deck1.append("Karte1")
        if False:
            pass
    except:
        pass


while True:
    startgame()
    print(Deck1)

3 个答案:

答案 0 :(得分:2)

如果您想要唯一值,可以使用集合。

但在您的情况下,只需将您的代码更改为:

if "Karte1" not in Deck1:
    Deck1.append("Karte1")

修改

请注意,在您的while语句中,当您定义的函数名称为 startgame

时,您将调用函数 startgame2

答案 1 :(得分:1)

您可以使用设置数据结构而不是列表。 默认情况下,集合包含唯一值。

来自Python文档

https://docs.python.org/2/library/sets.html

  

sets模块提供了用于构造和操作唯一元素的无序集合的类。常见用途包括成员资格测试,从序列中删除重复,以及计算集合上的标准数学运算,例如交集,并集,差异和对称差异。

示例

my_set = set([1,2,3,2])
print(my_set)    # prints [1,2,3]

my_set.add(4)
print(my_set)    # prints [1,2,3,4]

my_set.add(3)
print(my_set)    # prints [1,2,3,4]

答案 2 :(得分:0)

if True语句将始终为True,因此每次调用startgame()函数时,它都会将其添加到Deck

你可能想做的是:`

if "Karte1" not in Deck1:
     Deck1.append("Karte1")