Avi*_*ión 0 python arrays random
在Python中,我们可以通过以下方式创建一个0到10的随机数组:
randarray = random.sample(range(0, 10), 10)
Run Code Online (Sandbox Code Playgroud)
我的问题是我想要创建一个从0到10的数组,但是在第一个位置我要添加一个随机生成的数字,然后在不重复的情况下追加其余的数字.
这意味着我先做:
first_value = random.randint(0,10)
Run Code Online (Sandbox Code Playgroud)
例如,如果first_value
是4,我想创建一个从0到10的随机数组(不重复)但忽略数字4.例如,[0, 9, 5, 6, 1, 8, 7, 3, 2]
.这是我不知道该怎么做,所以任何帮助都将非常感激.
然后,我只是想追加first_value
到randarray
.
randarray.insert(0, first value)
Run Code Online (Sandbox Code Playgroud)
因此,所需的输出为:[4, 0, 9, 5, 6, 1, 8, 7, 3, 2]
)
shuffled
清单:>>> from random import shuffle
>>> xs = range(0, 10)
>>> shuffle(xs)
>>> xs
[2, 5, 4, 7, 1, 9, 3, 0, 6, 8]
Run Code Online (Sandbox Code Playgroud)
sample
:>>> from random import sample
>>> xs = sample(range(0, 10), 10)
Run Code Online (Sandbox Code Playgroud)
>>> from random import randint, sample
>>> x = randint(0, 10)
>>> p = range(0, 10)
>>> p.remove(x)
>>> xs = [x] + sample(p, 9)
Run Code Online (Sandbox Code Playgroud)