コンテナ
POINT
len() はリストの他に文字列やタプル、辞書などの要素数を取得できる
リスト(list)
a = []
a = ["A", "B", "C", "A"]
print len(a)
a.append( v );
a.insert( i, v );
a.insert( 0, v );
a.remove( v );
a.pop( i );
a.sort();
a = [1,2,3] + [4,5,6]
WARNING
重複の除去 ( uniq )はない
インデックスをつけるには enumerate() を使う
for i, v in enumerate( ["a", "b", "c"] ):
print i, v
スタックとして使う
a.append( 10 );
a.pop();
スライスを使うとリストの部分を切り出せる。
スライスした結果もリストとなる。
sys.path[1:2]
a[1:-2]
a[1:]
a[:2]
a[:]
WARNING
変数はオブジェクト( リスト )の参照をとるため、コピーが必要ならばスライスをする
a = [1,2,3]
b = a
b[0] = 7
print a
スライスをすることで a, b は別のオブジェクトを参照する。
b = a[1]
b[0] = 7
print a
セット(set)
POINT
集合とは要素が重複しない集まりこと。
ブーリアン演算もできる。
a = set( [ "a", "b", "c" ] );
tuple(タプル)
SYNTAX
( object, ... )
t = (1, "2", "aaa", 0.5)
t[1]
t[1] = 10
t2 = t + ( "a", "b" )
Dictionary(Map)
a = {};
tbl = { "tanaka" : "090-xxx", "sato" : "090-xxx", }
len( tbl )
tbl[ "foo" ] = "bar"
for k, v in tbl.iteritems():
print k;
print v;
tbl.clear()
del tbl[ "tanaka" ]
if "tanaka" in tbl:
print tbl["tanaka"]
if "tanaka" not in tbl:
print "nai"
フィルター(filter)
def f(i): return x % 2 == 0;
filter( f, range(1, 10) )
写像(map)
def f(i): return x % 2 == 0;
filter( f, range(1, 10) )