2016-06-08 65 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]