91個のアイテムのベクトルがあります。このベクトルから、各要素がベクトル内の後続の各要素で分割された新しいベクトルを導出したいと思います。
たとえば、ベクトルが
[2,4,6,8]
次に、これらの操作が必要です
2/4, 2/6, 2/8, 4/6, 4/8, 6/8
それは私に与えるだろう
[0.5, 0.33, 0.25, 0.66, 0.5, 0.75]
91個の要素を含む私のベクトルでは、結果には4095個の要素が含まれるはずです(組み合わせ式nCr = n!/ r!(nr)!を使用)。
変数j
(分母)は1回の時間変数i
(分子)が増加するたびに複数回増加するため、ネストされたForループを作成する必要があると想定しています。次に、除算を行い、各結果を新しいベクトル(リスト)に追加する必要があります。
だから私は解決策のいくつかの小さな部分を持っています(私は思う):
my_new_vector = []
For i in my_vector
For j in my_vector
quotient = i/j
my_new_vector.append
しかしその後、ネストされたForループを構築する方法がわかりません。
あなたはかなり近くにいます、あなたは確かに2つの含意されたループを必要とします:
test = [2,4,6,8]
ans = []
for i in range(len(test)): # for each value of the array
for j in range(i+1, len(test)): # We go from the next value to the end of the array.
ans.append(test[i]/test[j])
印刷してtest[i]
、test[j]
それがどのように機能するかを確認することを躊躇しないでください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加