1. ホーム
  2. python

[解決済み] pythonのsorted()関数は安定していることが保証されていますか?

2022-09-19 04:35:33

質問

その ドキュメント はそれを保証していません。他に文書化されているところはないのでしょうか?

リストに対するソートメソッドが 安定であることが保証されている (注9: "Starting with Python 2.3, the sort() method is guaranteed to be stable") で、sorted は機能的に類似しています。しかし、そう書いてある決定的なソースは見つけられません。

目的:主キーと、主キーが両方のレコードで等しい場合に副キーに基づいてソートする必要があります。もしsorted()が安定していることが保証されているならば、私はセカンダリキーでソートし、次にプライマリキーでソートして、必要な結果を得ることができます。

PS: 混乱を避けるために、私は "等しいものを比較する要素の相対的な順序を変更しないことを保証する場合、ソートは安定である" という意味で安定を使用しています。

どのように解決するのですか?

はい、マニュアルの意図は確かに、以下のことを保証することです。 sorted が安定していること、そして実際に sort メソッドと全く同じアルゴリズムを使用していることがわかります。私は、docs がこの ID について 100% 明確でないことを認識しています。doc パッチはいつでも喜んで受け入れられます!