1

すべての要素を同じ順序に保ちながら、ランダムな浮動小数点数でリストを拡張する方法を見つけようとしています。最初と最後が同じ位置に。しかし、アナログを増加させるには、これらの数値が必要です。

私が意味すること:例:ifA == [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 に答える