2017-04-25 216 views
0

我的问题是,我只想添加一个字符串“Karte1”到列表。但现在,字符串“Karte1”被添加到列表中无限次.. 希望u能帮助我:)Python - 将一些东西添加到列表只有一次

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) 

回答

2

您可以使用一组,如果你想唯一值。

但在你的情况下,只需改变你的代码:

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

编辑:

请注意,在你的while语句调用该函数startgame2,函数时名你定义为startgame

+0

谢谢,这工作。还有一个问题:是否有办法一次测试多个列表?编辑:是的,只是把它从我的主要来源,它没有那么大的问题^^修复它在主帖 – HealYouDown

+0

@ HealYouDown,你可以使用zip函数,以循环几个列表。如果“Karte1”不在li1中,“Karte1”不在li2中,“Karte1”不在li3中,则为[[如果项目1,项目2,项目3在zip中(li1,li2,l3)]> 0:... '。感谢接受 :) –

0

if True声明将是百达的Tru E,所以每次调用startgame()功能,将它添加到Deck

你可能想要做的是:`

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

你可能需要的是一组数据结构,而不是一个列表。 默认设置仅保存唯一值。

定义

这些组模块提供类用于构造和操作的独特元素无序集合。常见用途包括成员资格测试,从序列中删除重复项,并计算集合上的标准数学运算,如交集,联合,差异和对称差异。

my_set = set([1,2,3,2]) 
print(my_set) 
my_set.add(4) 
my_set.add(3) 
print(my_set) 

输出: 1,2,3 1,2,3,4

相关问题