開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)のまとめ演習5(ディクショナリのコピー)を解いてみる。
その他参考書籍
5.
コード(TextWrangler)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- # 参照渡しの影響による上書きを回避 def copy_dict(dict): result = {} for k, v in dict.items(): result[k] = v return result d1 = {'a':1,'b':2} d2 = copy_dict(d1) d1['c'] = 3 print(d1) print(d2) def f(dict): return dict
入出力結果(Terminal)
$ ./sample.py {'a': 1, 'c': 3, 'b': 2} {'a': 1, 'b': 2} $
ちなみにJavaScriptの場合。
コード(TextWrangler)
var result = ""; // 参照渡しの影響による上書きを回避 function p(o){ var result = ""; for(var p in o){ result += p + ": " + o[p] + "\n"; } return result; } function copy_dict(o){ var result = {}; for(var p in o){ result[p] = o[p]; } return result; } var o1 = {'a':1,'b':2}; var o2 = copy_dict(o1); o1['c'] = 3; result += p(o1) + "\n" + p(o2) + "\n"; $('#pre0').text(result);
0 コメント:
コメントを投稿