1

我正在尝试找到一种方法来扩展具有随机浮点数的列表,使所有元素保持相同的顺序;第一个和最后一个在同一个位置。但是,我需要这些数字来模拟增加。

我的意思是:例如:如果A == [1.3, 4.5, 6.8, 9.6, 11.3]

我希望新列表变成这样:

B = [1.3, 2.3, 4.5, 4.7, 5.6, 6.8, 9.6, 10.4, 11.1, 11.3]

因此,5 个元素变为 11(或其他任何元素),新列表在(或不)每个初始元素之间获得随机元素(没有必要 -6.8、9.6-)。

这可能吗?我要求太多了吗?

谢谢

4

2 回答 2

2
import random
num_elems_to_add = 10
A=[1.3, 4.5, 6.8, 9.6, 11.3]
new_elems = [random.uniform(A[0],A[-1]) for _ in range(num_elems_to_add)]
print sorted(A+new_elems)

那是你想要的吗?

于 2012-10-14T05:35:00.387 回答
1

可能有更有效的方法,但这很好用:

  import random

  A = [1.3, 4.5, 6.8, 9.6, 11.3]
  low = A[0]
  high = A[-1]
  B = []
  for i in range(10):
      B.append(random.uniform(low,high))
  B.extend(A)
  B.sort()
于 2012-10-14T05:36:34.373 回答