1. ホーム
  2. python

[解決済み] なぜPythonの標準ライブラリにはソートされたコンテナがないのですか?

2023-02-22 02:58:01

質問

Pythonにソートされたコンテナが追加されないようにするPythonの設計決定(PEP)はありますか?

( OrderedDict は挿入順で並べられるので、ソートされたコンテナではありません)。

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

これはGuidoの側で意識的に行われたデザイン上の決定です(彼は collections モジュールの追加に関しては、多少消極的でした)。彼の目標は、アプリケーションのデータ型の選択に関して、「それを行うための 1 つの明白な方法」を維持することです。

基本的なコンセプトは、もしユーザーが内蔵の型が問題に対する正しい解決策でないことに気づくほど洗練されているならば、適切なサードパーティのライブラリを見つけるというタスクにも対応できるということです。

list+sorting、list+heapq、list+bisectが、そうでなければ本質的にソートされたデータ構造に依存する使用事例の多くをカバーし、blistなどのパッケージが存在することを考えると、標準ライブラリにこの領域の複雑さを追加する大きなドライブが存在しないのです。

ある意味では、標準ライブラリに多次元配列がなく、代わりにNumPyの人たちにそのタスクを譲っているという事実と似ています。