Python文法詳解を詳解する会 #3 まとめ

2015年4月22日(水)に開催された「Python文法詳解を詳解する会 - 第3回」に関するまとめです。 http://python-in-depth.connpass.com/event/13829/ 講師は「Python文法詳解」の著者@atsuoishimotoさんです。 誰でも編集可能にしていますので、追加したい、デコりたいなどございましたらお願いします。
1
のぶクマ🐻C99金曜日東地区 "ヒ "44a「サークル熊小屋」 @kumar0001

Python3からのビューオブジェクト。元の辞書を参照しているので、辞書のデータ変更を反映する。

2015-04-22 20:38:02
AKANE Daigo (赤根 大吾)💉💉 @dgakane

python2の場合 >>> d = {'spam':1, 'ham':2, 'egg':3} >>> d.keys() ['egg', 'ham', 'spam'] >>> type(d.keys()) <type 'list'> #pygrambook

2015-04-22 20:41:56
のぶクマ🐻C99金曜日東地区 "ヒ "44a「サークル熊小屋」 @kumar0001

元の辞書を編集するようなループでは、ビューオブジェクトをリストなどにコピーして、それをもとにループを回す

2015-04-22 20:42:04
AKANE Daigo (赤根 大吾)💉💉 @dgakane

Python3の場合 >>> d.keys() dict_keys(['spam', 'ham', 'egg']) >>> type(d.keys()) <class 'dict_keys'> #pygrambook

2015-04-22 20:42:51
のぶクマ🐻C99金曜日東地区 "ヒ "44a「サークル熊小屋」 @kumar0001

ビューオブジェクトのメリット: メモリ使用量の削減、集合のような操作への対応

2015-04-22 20:43:18
Tetsuya Morimoto @t2y

>>> 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
chiyama @chiyama

辞書のビューオブジェクトはいいな。ただ古いコードにはわかりにくい地雷になりそう #pygrambook

2015-04-22 20:48:40
AKANE Daigo (赤根 大吾)💉💉 @dgakane

集合オブジェクト {要素, 要素, 要素} 空の集合オブジェクトはset()で作る {}だと辞書になっちゃうので #pygrambook

2015-04-22 20:51:14
のぶクマ🐻C99金曜日東地区 "ヒ "44a「サークル熊小屋」 @kumar0001

内包はリスト、集合、辞書と書き方は同じパターンか

2015-04-22 20:52:16
AKANE Daigo (赤根 大吾)💉💉 @dgakane

累算代入もできる >>> s = {1,2} >>> s |= {3} >>> s {1, 2, 3} #pygrambook

2015-04-22 20:55:08
Kenjiro Kosaka @inoshiro

懇親会出たい気持ちがあるけど、帰る時間と飯食う時間を考えて今回は離脱。次は先に何か食べておいてもいいかなー #pygrambook

2015-04-22 21:09:44
AKANE Daigo (赤根 大吾)💉💉 @dgakane

今日は懇親会に参加せず帰宅します。お疲れ様でした! #pygrambook

2015-04-22 21:14:22
NAKAMURA, Tomohiro @tomoh1r

お疲れ様です。ありがとうございました。 #pygrambook

2015-04-22 21:16:13
Atsuo Ishimoto @atsuoishimoto

読書会が終わったあとはよく眠れる

2015-04-23 09:16:09