2017-04-25 225 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

相關問題