Python 生成浮点数列表,其中每个浮点数低于另一个浮点数列表

Python 生成浮点数列表,其中每个浮点数低于另一个浮点数列表,python,list,numpy,random,Python,List,Numpy,Random,我正在使用以下代码获取随机浮动列表: random_A = np.random.uniform(low=0, high=10, size=(50,)) 所以我得到了一份50辆车的名单 [0.35664866 4.76750599 2.05083389 9.53811567 5.36920383 8.91679955 2.19965617 2.62523134 6.55224616 9.35766331 5.79652488 4.23194067 2.72168337 5.31431884

我正在使用以下代码获取随机浮动列表:

random_A = np.random.uniform(low=0, high=10, size=(50,))
所以我得到了一份50辆车的名单

[0.35664866 4.76750599 2.05083389 9.53811567 5.36920383 8.91679955
 2.19965617 2.62523134 6.55224616 9.35766331 5.79652488 4.23194067
 2.72168337 5.31431884 8.3975979  9.29497168 5.42797236 5.64302212
 2.91821098 5.06305922 1.88212402 0.24593891 9.45021432 0.95423611
 9.36860165 2.46100709 3.80709829 1.08442665 3.28513088 9.75743916
 5.36187267 4.61001088 0.17912406 6.52406152 3.26927165 4.40187936
 6.79600876 8.10418648 1.06927133 5.3087785  1.85829928 2.20111922
 1.6910625  6.25714944 0.29338196 5.73195802 0.73971446 3.62506435
 9.0166149  3.90316395]
我现在想得到的是另一个50个浮点数的列表,我们称之为random_B,其中该列表中的每个浮点数都低于第一个列表中比较的数字(random_A)。你能帮帮我吗


这是一种间接的方法:生成第一个数组,然后使用该数组的单个元素作为上限,使用
np.random.uniform

import numpy as np; np.random.seed(121)

random_A = np.random.uniform(low=0, high=10, size=(10,))
print (random_A)
# [1.11330828 2.10767575 2.32962488 1.51944557 8.30178138 4.07919415 5.557906   7.45523942 2.48499756 9.68659399]

random_B = np.array([np.random.uniform(0, i) for i in random_A])
print (random_B)
# [1.06063118 1.03244254 0.04262587 1.30308582 3.36170915 2.53919206 1.64164697 6.93030501 1.00795353 5.49521109]
编辑

正如@Severin在下面的评论中所建议的那样更好

random_B = np.random.uniform(low=0, high=random_A, size=(10,))

你的意思是说,“对于
random\u A
中的每个float元素,在
random\u B
中的相同索引处都有一个相应的次float”?它很慢,不要使用循环-只要
random\u B=np.random.uniform(低=0,高=random\u A,size=(10,)
@severinpapapapadeux:谢谢你的回答。我已经把它作为你的建议添加到了答案中