開発環境
- 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 コメント:
コメントを投稿