開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIII部(ステートメント)10章(Pythonの代入ステートメント、式ステートメント、print()関数(python3.xから))の練習問題3を解いてみる。
その他参考書籍
3.
リストのsortメソッドは、元のリストをソートされたリストにする(上書きする)して、戻り値はNoneとなる。リストをソートするにはL.sort()と元のリストを上書きするか、、上書きせずにソートされたリストを戻り値と返して代入したい場合はビルトインメソッドのsorted(L)を使えばいい。
コード(TextWrangler)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- L = [5,1,4,2,3] L = L.sort() print(L) L = [5,1,4,2,3] L.sort() print(L) L = [5,1,4,2,3] M = sorted(L) print(L, M, sep="\n")
入出力結果(Terminal)
$ ./sample.py None [1, 2, 3, 4, 5] [5, 1, 4, 2, 3] [1, 2, 3, 4, 5] $
ちなみにJavaScriptの場合。
コード(TextWrangler)
var result = ""; var ary = [5,1,4,2,3]; ary = ary.sort(); result += ary + "\n"; ary = [5,1,4,2,3]; ary.sort(); result += ary + "\n"; ary = [5,1,4,2,3]; ary1 = ary.sort(); result += ary + "\n" + ary1 + "\n"; // pythonのsortedに相当する関数を作成 function sorted(o){ var result = o.slice(); result.sort(); return result; } ary = [5,1,4,2,3]; sorted_ary = sorted(ary); result += ary + "\n" + sorted_ary + "\n"; $('#pre0').text(result);
JavaScriptでは、array.sort()で配列が上書きされるのはpythonと同じだけど、戻り値はnullではなく、配列への参照が返されるみたい。(JavaScriptクイックリファレンスより)
0 コメント:
コメントを投稿