これを再帰関数に変換する賢い方法が必要です。D は、a、b、c に一致する必要があるキーを持つ辞書です。
D のキーはランダムな順序の数字にすぎません。特定の順序で並べ替えて、関数「findKeyForLargestValue」で作成するリストに入れる必要があります。
これは私のプリミティブ関数です (すべての種類の辞書で機能するわけではありません)
def findOrder(name,D):
Order=[name]
a=findKeyForLargestValue(D[name])
b=findKeyForLargestValue(D[a])
c=findKeyForLargestValue(D[b])
d=findKeyForLargestValue(D[c])
e=findKeyForLargestValue(D[d])
f=findKeyForLargestValue(D[e])
Order.append(a)
Order.append(b)
Order.append(c)
Order.append(d)
Order.append(e)
Order.append(f)
return Order
出力は次のようなリストである必要があります。
['4', '2', '5', '1', '6', '3']
また、任意のタイプの D をループできる必要があります。