我创建了一个包含10个数组的列表,这些数组由20个随机数组成,每个数字介于0和1之间。
现在,我希望将列表中的每个数组与数字0.05
,0.1
,...添加到1.0
,以便每个数组中的所有元素都不会更大比它乘以的数字。
例如,第一个数组中的所有20
元素都应位于0
和0.05
之间,第二个数组中的所有元素都位于0
和{{1}之间}} 等等。
我创建了0.10
个随机数组列表以及10
和0
之间的一系列数字:
1
然后我尝试将元素乘以:
range1 = np.arange(0.005, 0.105, 0.005)
noise1 = [abs(np.random.uniform(0,1,20)) for i in range(10)]
但这并不起作用,只会导致列表中的所有数组具有相同的值。
我真的很感激有关如何做到这一点的帮助。
答案 0 :(得分:1)
希望我已经清楚地理解了这个问题,从而提供了这个解决方案。
noise2 = [noise1[i] * range1[i] for i in range(len(noise1))]
答案 1 :(得分:0)
更多 pythonic 方式将使用zip
:
range1 = [1, 2, 3]
noise1 = [3, 4, 5]
noise2 = [i * j for i, j in zip(range1, noise1)]
# [3, 8, 15]