2013-01-05 61 views
3

我想提出一個劊子手的比賽,我希望能夠與用戶鍵入的新單詞的列表,以取代原來的詞列表。在一分鐘我的代碼是這樣的:如何替換在Python另一個列表清單?

gamewords[:] = newgamewords[:] 

但是這似乎並沒有工作...

原來的名單是這樣的:

gamewords= ['blue','violet','red','orange','fuchsia','cyan','magenta','azure','black','turquoise','pink','scarlet'] 

一個字,然後選擇該列表隨機

word=gamewords[random.randint(0,len(gamewords)-1)] 

我想改變它,以便從新列表中選擇單詞,我該怎麼做?

+0

你需要分享更多的代碼,以獲得任何幫助。 –

+0

這應該用'newgamewords'中的元素替換'gamewords'中的所有元素 - 向我們展示您當前的代碼並告訴我們爲什麼它不起作用。 –

+0

您的問題已在下面解答。 'gamewords = newgamewords'應該可以正常工作。 –

回答

2

你可能打算這樣做:

gamewords = newgamewords[:] # i.e. copy newgamewords 

另一種方法是

gamewords = list(newgamewords) 

我覺得後者更具有可讀性。


注意,當你「複製」名單喜歡這兩種方法做,更改爲新複製的名單不會影響原有的。如果您只是將newgamewords指定爲gamewords(即gamewords = newgamewords),則更改爲gamewords效果newgamewords


相關文檔

+0

對不起,我的意思是列表。 –

+0

請注意,根據使用情況,可能根本不需要複製。 –

2

我不知道你到底想要什麼。有兩個選項:

  1. gamewords = newgamewords[:]
  2. gamewords = newgamewords

不同的是,第一個選項副本newgamewords的元素,並將其分配給gamewords。第二個選項剛剛分配參考的newgamewordsgamewords。使用第二個版本,你會如果你改變gamewords改變原有newgamewords -list。

因爲你沒有給你更多的源代碼,我不能決定,這將正常爲你工作,你必須自己弄清楚。

相關問題