ifの条件式で…
以下のような書き方が許されている。
if 1 < x < 10: ...
文字列 strip()
>>> a = 'abcd1234' >>> a.strip('ab') 'cd1234' >>> a.strip('ab4') 'cd123' >>> a.strip('ab5') 'cd1234' >>> a.strip('v') 'abcd1234'
リスト、文字列の要素数をカウントする
>>> c = collections.Counter('abccbabcabcbaba') >>> mc = c.most_common() >>> mc [('b', 6), ('a', 5), ('c', 4)] >>> mc[0] ('b', 6) >>> mc[-1] ('c', 4)
encode rule
# coding: utf-8 # coding: Shift_JIS # coding: EUC-JP
for文でenumerate
>>> lst ['a', 'b', 'c', 'd'] >>> for i,x in enumerate(lst): ... print i , x ... 0 a 1 b 2 c 3 d
isinstance関数
>>> isinstance(1,str) False >>> isinstance(1,int) True >>> isinstance(1,float) False
printを’,’で区切る
>>> print "There ", "are " , 3 , " apples." There are 3 apples.
printはpython2とpython3で仕様がだいぶ違うそう。
is演算子
同じ参照を指しているときに、True.
x = ['foo'] y = x print x is y #=> True x = ['foo'] y = ['foo'] x is y #=> False
ヌルオブジェクト
このオブジェクトは明示的に値を返さない関数によって返されます。このオブジェクトには特有の操作はありません。ヌルオブジェクトは一つだけで、 None (組み込み名) と名づけられています。
>>> None >>> print None None >>> None is None True >>> None is not None False >>> a = "This is a." >>> a is None False
pass
インデントの関係で必要になることが。これ、忘れそう。
if cond1: pass elif cond2: print unicode("cond2") else : print unicode("cond3")
set型(重複なし順序なし)
>>> s = set([1,2,3,4,5]) >>> s set([1, 2, 3, 4, 5]) >>> s.add(3) >>> s set([1, 2, 3, 4, 5])
map()
>>> array = range(20) >>> array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> map(lambda x:x%4,array) [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]
filter()
>>> array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> filter( lambda x:x%4 == 1 , array ) [1, 5, 9, 13, 17]
reduce()
>>> array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> reduce( lambda x,y : x + y , array ) 190
リスト内包表記
>>> array [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> [x for x in array] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> [x-10 for x in array] [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> [x for x in array if x % 4 == 1] [1, 5, 9, 13, 17]
おわり
要所要所で出てくる、’:’をよく忘れて、むかつく。
参考
http://python.civic-apps.com/map-reduce-filter/
http://docs.python.jp/2/contents.html
http://webtech-walker.com/archive/2010/10/13191417.html
http://n-knuu.hatenablog.jp/entry/2015/12/11/233600