まず第一に、これがあまりにも素朴な場合はお詫びします(私は初心者です)。次のタイプのリストのリストがあります。最初に、内部リストの最後のメンバーで昇順で並べ替えます。
data = [[1, .45, 0], [2, .49, 2], [3, .98, 0], [4, .82, 1], [5, .77, 1], [6, .98, 2] ]
私は:を使用してこれを達成します。これにより、次sorted(data,key=operator.itemgetter(2),reverse = True)
のようになります。
[[1, .45, 0], [3, .98, 0],[4, .82, 1], [5, .77, 1], [2, .49, 2], [6, .98, 2]]
ここで、サブリスト内で並べ替えます。つまり、最初に、中央のメンバーをキーとして使用して、最後のメンバーを「0」としてリストを降順で並べ替えます。次に、最後のメンバーとして「1」を使用してサブリストを並べ替えます。各サブリストの要素の数は異なり、不明であることに注意してください。最終的なリストは次のようになります。
[[3, .98, 0],[1, .45, 0], [4, .82, 1], [5, .77, 1], [6, .98, 2],[2, .49, 2] ]
リストは実際には非常に膨大であるため、効率的な実装を探しています。任意のガイダンスをいただければ幸いです!