2016-06-08 63 views
-8

我想以這種方式創建了一個列表子列表:列表裏面

  1. 列表的長度是多少,我決定,說S(相當大的,不誇張)

  2. 這些條目都是零,除了一個,它有價值n

  3. 值爲n的條目可能在中間,但我希望它隨機出現在列表中,即如果我再次運行該程序(或者某種循環),它給了我一個不同來回的向量m 0處於另一個位置。例如。 v1 = [0,0,n,0],v2 = [n,0,0,0]等

我該怎麼做?

這是我試過的大小爲4的名單S:

s = [0,0,0,0] 
r = random.random() 
intr = int(r*len(s)) 
s[intr] = n 

感謝

+1

請顯示[MCVE]自己嘗試的,並解釋你面對什麼困難,請。 SO是*不是*代碼寫作服務。 – idjaw

+0

我建議你看看NumPy –

+0

你有''內部列表?每個內部列表中是否都有'n'?內部列表總是大小4? – erip

回答

-1
>>> from random import randint 
>>> n = 10 
>>> a = [0]*n // initialise array a wwith exactly n zeros 
>>> a 
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
>>> i = randint(0,n-1) // get random number from 0 to n-1 
>>> i 
1 
>>> a[i]=n //assign a[i] to n 
>>> a 
[0, 10, 0, 0, 0, 0, 0, 0, 0, 0]