Python文法詳解を詳解する会 #3 まとめ
Python3からのビューオブジェクト。元の辞書を参照しているので、辞書のデータ変更を反映する。
2015-04-22 20:38:02python2の場合 >>> d = {'spam':1, 'ham':2, 'egg':3} >>> d.keys() ['egg', 'ham', 'spam'] >>> type(d.keys()) <type 'list'> #pygrambook
2015-04-22 20:41:56元の辞書を編集するようなループでは、ビューオブジェクトをリストなどにコピーして、それをもとにループを回す
2015-04-22 20:42:04Python3の場合 >>> d.keys() dict_keys(['spam', 'ham', 'egg']) >>> type(d.keys()) <class 'dict_keys'> #pygrambook
2015-04-22 20:42:51ビューオブジェクトのメリット: メモリ使用量の削減、集合のような操作への対応
2015-04-22 20:43:18これか / 4.10.1. 辞書ビューオブジェクト docs.python.jp/3/library/stdt… #pygrambook
2015-04-22 20:46:29>>> a, b = {'x': 1, 'y': 2}, {'y': 3, 'z': 4} >>> a.keys() & b.keys() {'y'} >>> a.keys() | b.keys() {'y', 'x', 'z'} ビューは集合演算できる #pygrambook
2015-04-22 20:48:19集合オブジェクト {要素, 要素, 要素} 空の集合オブジェクトはset()で作る {}だと辞書になっちゃうので #pygrambook
2015-04-22 20:51:14累算代入もできる >>> s = {1,2} >>> s |= {3} >>> s {1, 2, 3} #pygrambook
2015-04-22 20:55:08懇親会出たい気持ちがあるけど、帰る時間と飯食う時間を考えて今回は離脱。次は先に何か食べておいてもいいかなー #pygrambook
2015-04-22 21:09:44