list- 配列のようなデータ型
- 数値や文字列など、どんなオブジェクトでも入れることができる
- 異なるオブジェクトを同じlistに格納できる
- listの大きさは自動的に調整してくれるので確保が不要
- 各要素には整数のインデックスが振られる
tuple - 同じ要素が重複しない
- 集合演算ができる
- 引き算はできるが、足し算や掛け算はできない
- 順番(インデックス)がない
dict map() - map(関数, iterableオブジェクト)
- iterableオブジェクトに関数を適用し、その戻り値を要素とするlistを返す
>>> map(int, [1, '2', u'3', 4.0]) [1, 2, 3, 4]
filter() - filter(関数, iterableオブジェクト)
- iterableオブジェクトに関数を適用し、戻り値がTrueであるものをlistとして返す
>>> filter(len, [[], [1], [], [1, 2]]) [[1], [1, 2]]
lambda() - lambda 引数: 戻り値
- 無名の関数オブジェクトを作成
>>> def distance(x, y, func): ... return func(x-y) ... >>> def square(x): ... return x*x ... >>> distance(3, 1, square) 4 | >>> def distance(x, y, func): ... return func(x-y) ... >>> distance(3, 1, lambda x: x*x) 4 |
zip() - zip(iterableオブジェクト1, iterableオブジェクト2, ・・・)
- map(None, iterableオブジェクト1, iterableオブジェクト2, ・・・)と同じ
>>> zip([1, 2, 3], ['a', 'b', 'c']) [(1, 'a'), (2, 'b'), (3, 'c')]
enumerate() - 要素を取り出すのと同時にカウントする
>>> for i, elem in enumerate(['a', 'b', 'c']): print('%s:%s' % (i,elem)) 0:a 1:b 2:c
reversed() - listを逆順に並び替え
a=[1, 3, 2, 4]
>>> a.reverse() >>> a [4, 2, 3, 1] a自体が変更される | >>> list(reversed(a)) [4, 2, 3,1] >>> a [1, 3, 2, 4] 新しいlistとして返す |
sorted() - listを昇順に並び替え
>>> a.sort() >>> a [1, 2, 3, 4] a自体が変更される | >>> sorted(a) [1, 2, 3, 4] >>> a [4, 2, 3, 1] 新しいlistとして返す |
リスト内包表記 - [新たに追加する要素 for 取り出した要素 in 対象のリスト if 条件式]
>>> newlist=[] >>> for i in [1, 2, 3]: ... newlist.append(i*2) ... >>> newlist [2, 4, 6] | >>> [i*2 for i in [1, 2, 3]] [2, 4, 6] 同じ動作を1行で書ける! |
参考文献 柴田淳(2009)『みんなのPython改訂版』ソフトバンククリエイティブ株式会社
株式会社エスキュービズム、細田謙二、オレンジ岸本、石井光次郎、岩川建彦、岡田正彦(2010)『Python入門[2&3対応]』株式会社秀和システム
スティーブン・バード、エワン・クライン、エドワード・ローパー(2010)『入門自然言語処理』株式会社オライリー・ジャパン |