2016-12-04 91 views
-2

我需要一個8個元素的列表,我希望那個python隨機導入列表中的元素。但是我需要列表中的每一個元素。就像這樣:當我使用隨機時,python如何打印每個元素?

我需要的0至4號在列表中,但如果我寫:

s = [] 
for i in range(8): 
    s.append(random.randint(0,4)) 
print("s:", s) 

Python沒有每個號碼的打印我至少一次。 Python打印我這樣的:

s = [1,0,2,2,1,0,1,3] - 在此列表中是4失蹤,但我希望所有5個數字至少一次在列表中。

請幫幫我。

+0

您的代碼是* random *。你可能不會四肢,或四肢,或中間的任何地方。 *「我希望所有5個數字至少在列表中有一次」* - 但這不是你寫的。這是唯一的約束嗎? – jonrsharpe

+0

你需要更清楚你想要做什麼。 – Hampus

+0

我需要元件從0到4的隨機列表(8)其中,將每個數字列表中的至少一次。 – Bababo

回答

0

如果你想有八個項目的清單,其中包括各至少一個元素0,1,2,3,4的,那麼你真的想要的是列表[0,1,2, 3,4]和三個附加的隨機元素,全部以隨機順序排列:

import random 

# start a list with one each of the desired elements 
s = [0,1,2,3,4] 

# add three more elements 
for i in range(3): 
    s.append(random.randint(0,4)) 
    # randomize the order of the elements in the list 
    random.shuffle(s) 
print("s:", s) 
+0

這就是我想要的..非常感謝你! – Bababo