質問: filter(..., arr) arr.sort() のように、mapやfilterなどがlistのメソッドでないので、そのようなことができません。 なぜPythonでは、このようなメソッドを実装しなかったのでしょうか? 設計者の意図でそうなっているのでしょうか? 推測でもいいので、だれか教えてください!
回答: 確かなことは知らないけれど、PythonとRubyのmap()の違いを1つ。 Pythonのmapは ``` >>> map(cmp, [1, 2, 3], [3, 2, 1]) [-1, 0, 1] ``` というように、複数の配列・リストその他をとれる。 もちろんmap()をメソッドにしても、同様のことができるように実装できる。 でもそうすると、複数の配列のどれを特別扱いするかで迷いそう。 こういうこともPythonでmar()が関数である理由の1つになっているかもしれない。