開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- Python (プログラミング言語)
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7)のⅡ部(ビルトインオブジェクト)、4章(Pythonのビルトインオブジェクト)の練習問題、5.を解いてみる。
その他参考書籍
5.
コード(BBEdit)
module1.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
# 写像に属するオブジェクトはディクショナリ
# keyとして使えるのは不変性を持つオブジェクト(文字列、数値、タプル等)
d1 = {'a':1, 'b':2, 'c':3, 'd':4}
d2 = {1:'a', 2:'b', 3:'c', 4:'d'}
d3 = {(1, 2):'a', (3, 4):'b'}
try:
# keyにミュータブルなオブジェクトを使っているので例外発生
d4 = {[1, 2]:'a'}
except Exception as err:
print(type(err), err, err.args)
for d in [d1, d2, d3]:
print(d)
入出力結果(Terminal)
$ ./sample.py
<class 'TypeError'> unhashable type: 'list' ("unhashable type: 'list'",)
{'d': 4, 'a': 1, 'c': 3, 'b': 2}
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
{(1, 2): 'a', (3, 4): 'b'}
$
0 コメント:
コメントを投稿