Python文法詳解を詳解する会 #2 まとめ
float('inf') == float('inf') は True float('nan') == float('nan') は False だった。無限大は不定形ではなくて無限として扱うのか。 #pygrambook
2015-03-26 20:03:45メンバーシップ演算子 >>> 'B' in ['A', 'B', 'C'] True >>> 'D' not in ['A', 'B', 'C'] True #pygrambook
2015-03-26 20:11:06「なんでシーケンスのオブジェクト obj.len() で長さが取れないんだ、なんで len(obj) なんだ、という質問は禁止です」と言いながらちゃんと説明してくれる優しさ #pygrambook
2015-03-26 20:13:15今日は開始1時間ちょっとで30ページ進んでいる。今日は48ページからなので、この調子なら今回100ページ超えられそうだ #pygrambook
2015-03-26 20:15:43リスト内包 >>> L = ['A', 'B', 'C'] >>> l = [value.lower() for value in L] >>> l ['a', 'b', 'c'] #pygrambook
2015-03-26 20:16:37>>> L = [('a', 1), ('b', 2)] >>> [c*i for c, i in L] ['a', 'bb'] 要素を分解できる #pygrambook
2015-03-26 20:23:44>>> a = [[]] * 10 >>> a[1].append(1) >>> a [[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]] そっかたしかにコレじゃダメだ #pygrambook
2015-03-26 20:28:38[[]] * 5 はこんな感じ -> pythontutor.com/visualize.html… #pygrambook
2015-03-26 20:30:05空のリスト3つを要素とするリストをどう作るか >>> a = [[]]*3 これはだめ。なぜかというと >>> a [[], [], []] >>> a[0].append(1) >>> a [[1], [1], [1]] 要素がすべて同一のオブジェクト #pygrambook
2015-03-26 20:33:15「list.extend() は実験的なメソッドなので使うな、と書いてあった」2.4にあった docs.python.jp/2.4/lib/typess… けど、英語ドキュメントの方は2.1までさかのぼったら書いてあった docs.python.org/2.1/lib/typess… #pygrambook
2015-03-26 20:44:31>>> L = ['9', '100', '200'] >>> L.sort() >>> L ['100', '200', '9'] # 文字列としてソートされている #pygrambook
2015-03-26 20:44:41>>> L = ['9', '100', '200'] >>> L.sort(key=int) >>> L ['9', '100', '200'] # 数値としてソートされている #pygrambook
2015-03-26 20:44:54「Timソートにはこのあいだバグが見つかりました。セキュリティーホールになる可能性があります。テラ単位のメモリをパソコンに積んでる人は注意して下さい」 注意しようw #pygrambook
2015-03-26 20:45:40タプル、実は()必要ない >>> a = 1,2,3 >>> a (1, 2, 3) #pygrambook
2015-03-26 20:47:07タプルあるある func( x = 1, y = 2, ) を何かで書き換えたときに x = 1, y = 2, func(x=x, y=y) 関数funcは数値受け取りたいのになぜか1要素のタプルをそれぞれ受け取るという #pygrambook
2015-03-26 20:52:02リストとタプルはどう使い分けるか タプルは辞書のキーとして使える キーは更新不能なオブジェクトである必要がある #pygrambook
2015-03-26 20:53:03>>> hash([1,2,3]) (略) TypeError: unhashable type: 'list' >>> hash((1,2,3)) -378539185 #pygrambook
2015-03-26 20:53:40>>> d = {1:100} >>> d = {"abc": 100} >>> d = {(1,2,3): 100} >>> d = {[1,2,3]: 100} # エラー #pygrambook
2015-03-26 20:53:41