0

次のリストには、形式 (ID、レベル、値) があります。

[(A, 1, None),
 (B, 1, None),
 (C, 1, None),
 (A, 2, 1.1),
 (B, 2, 5.0),
 (C, 2, 5.0),
 (C, 3, 40),
 (B, 3, 55)]

したがって、キャッチは、同じレベルのアイテムを同じ値で1レベル下のに従ってソートすることです。1レベル下の値が等しい場合は、2 レベル下になります。したがって、エンド リストは次のようになります。

[(A, 1, None),
 (C, 1, None), <- this moved up because @ lvl3 C['value'] < B['value']
 (B, 1, None),
 (A, 2, 1.1),
 (C, 2, 5.0), <- this moved up because @ lvl3 C['value'] < B['value']
 (B, 2, 5.0),
 (C, 3, 40),
 (B, 3, 55),]

誰かがそれを達成するためのアルゴリズムを提案できますか? ところで、私は常に開始リストをでソートしてからレベルでソートします

4

1 に答える 1