列出里面的子列表

时间:2016-06-08 12:28:13

标签: python list random

我想创建一个以这种方式制作的列表:

  1. 列表的长度是我决定的数字,比方说s(相当大,不夸张)

  2. 条目全部为零,除了一个,其值为n

  3. 值为n的条目可能在中间,但我希望它在列表中随机出现,即如果我再次运行程序(或者使用某种循环),它会给我一个向量不同于0的条目在另一个位置。例如。 v1 = [0,0,n,0],v2 = [n,0,0,0]等

  4. 我该怎么做?

    这是我尝试过的4号列表:

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

    由于

1 个答案:

答案 0 :(得分:-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]