使用列表推导式使用随机数填充两个随机长度的数组

Wretch11

正如标题所暗示的那样,我想填充两个单独的列表,每个列表都有自己的随机长度和使用列表理解的内容,大致如下:

a, b = [random.randint(1,100), random.randint(1,100) for x in range(random.randrange(1,10))]

可以在一行中完成吗?如果是这样,我会怎么做?

谢谢

睡觉

首先,您要重复相同的函数两次,而不是分别创建两个数组。所以让我们写一个函数random_array

现在,我们可以random.choice(range(int))用来选择一个随机数,例如

>>> choice(range(10))
7

或者,我们也可以使用random.randint(0, 10)

>>> random.randint(0, 10)
5

那么,我们可以随机选择N个。给定范围的整数使用random.sample

>>> n = 5
>>> random.sample(range(10), n)
[3, 2, 1, 9, 4]

所以使用random.samplerandom.choice

>>> from random import sample, choice
>>> def random_array(maxsize, maxint):
...     return sample(range(maxint), choice(range(maxsize)))
... 
>>> random_array(10, 100)
[12, 9, 62, 48, 11, 44, 58, 52, 1]
>>> random_array(10, 100)
[97, 78, 33, 3]

random.randintrandom.sample

>>> from random import randint, sample
>>> def random_array(maxsize, maxint):
...     return sample(range(maxint), randint(0, maxsize))
... 
>>> random_array(10, 100)
[27, 50, 95, 18, 4, 30, 73, 47]

或使用numpy

>>> import numpy as np
>>> np.random.rand() # Random float between 0.0 to 1.0
0.7796560918112618
>>> np.random.rand(2)
array([ 0.75680381,  0.20146147])
>>> np.random.rand(2) # Random array of size 1x2 (column X row)
array([ 0.81612505,  0.42277987])

>>> np.random.rand(random.randint(0, maxsize)) # Random size array of len < maxsize
array([ 0.83846215,  0.77637599,  0.85086381,  0.03674837])
>>> np.random.rand(random.randint(0, maxsize)) # Random size array of len < maxsize
array([ 0.26468399,  0.0472708 ,  0.83615985,  0.20740113,  0.40436625,
        0.84332336,  0.48814732,  0.39267764,  0.30662132])
>>> np.random.rand(random.randint(0, maxsize)) * 100 # Random size array of len < maxsize and max value < 100
array([ 80.85771169,  50.49196633,  21.01646636,  36.15074652,
        97.98209728,  85.68512275,  58.06013557,  23.93219465,
         5.18467685,  12.77761391])

如果你想要一个单一的班轮:

a =  sample(range(100), choice(range(10)))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python - 从列表中提取随机数。使用指定的长度和总和填充新列表

两个随机数组

生成随机长度的随机列表(排序)

如何使用函数中生成的两个随机数作为矩阵坐标?

使用特定字符串生成 1 到 10 之间的两个随机数

如何使用Accept.js获得两个单独的随机数?

使用MWC随机数生成无限个Int列表

从Python中的数组生成两个值之间的随机数

Swift中两个小数之间的随机数

如何生成两个不同的随机数?

产生两个带条件的随机数

生成两个随机数并减去它们

当两个随机数相等时的'if'语句

如何使用随机数创建 n 个随机大小的列表?

使用数组编写一个 C 程序,从 100 个随机数的列表中找出最大和最小的数

如何使用javascript随机排序两个同步列表?

在JavaScript中使用随机数创建长度为n的数组

如何使用JavaScript生成固定长度的随机数?

Java:为自定义数组列表的每个类别添加两个随机数组元素

使用随机数80-100填充数组,并使用以数组为参数的方法以两种不同的方式打印

如何使用从1000到9999的不同随机数填充数组?

如何使用PASCAL用1000至9999之间的不同随机数填充数组

React-使用.map和.fill用随机数填充2D数组

生成最多50个随机数。让用户猜测使用JavaScript的随机数是该随机数的5倍

使用函数式编程的唯一随机数数组

如何从两个<= 5的随机数中生成一个<= 7的随机数?

使用 LFSR 的随机数

如何使用两个随机变量列表在 python 中创建点列表(二维数组)

数组特定列表中的随机数