目標: 組み込みsorted(..)
関数を使用せずに機能的な方法でシーケンスを並べ替えます。
def my_sorted(seq):
"""returns an iterator"""
pass
動機: FP のやり方では、私は制約を受けています。
- 変更しない
seq
(イテレータまたは実現リストの可能性があります) - 暗黙的に、インプレースソートはありません。
質問 1 mutate できないためseq
、ソートされたシーケンスを格納するために別の可変データ構造を維持する必要があります。in-place に比べて無駄に思えlist.sort()
ます。他の関数型プログラミング言語はこれをどのように処理しますか?
質問 2変更可能なシーケンスを返す場合、機能パラダイムでは問題ありませんか?