【问题标题】:List with sublists inside [closed]包含子列表的列表[关闭]
【发布时间】:2016-10-08 17:20:34
【问题描述】:

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

  1. 列表的长度是我自己决定的一个数字,比如 s(相当大,不夸张)

  2. 所有条目都是零,除了一个,它的值为 n

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

我该怎么做?

这是我为大小为 4 的列表尝试的:

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

谢谢

【问题讨论】:

  • 请出示您自己尝试的minimal reproducible example,并说明您面临的困难。 SO 不是代码编写服务。
  • 我建议你看看 NumPy
  • 您有s 内部列表? n 在每个内部列表中吗?内部列表总是大小为 4 吗?
  • 那么内部列表可以是任意大小,关键是我希望随机元素等于n,其他等于0
  • import random; l = [0 for _ in range(4)]; ridx = random.randrange(0, len(l)); l[ridx] = 10; print(l)

标签: python list random


【解决方案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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多