最初は便利なデータ構造の扱いについて.
リスト
まずは定義の仕方. と簡単な扱い方.
>>> list = [1,2,"abc",3,4] >>> list [1, 2, 'abc', 3, 4] >>> list[2] 'abc' >>> list[-2] 3 >>> list[1:] [2, 'abc', 3, 4] >>> list[1:3] [2, 'abc']
[ ]でくくって定義するのがリスト. どんなもの, 文字列, 数値なども格納可能.
list[: ]のようにして指定箇所のオブジェクトを取り出すことができる. これをスライスという.
基本演算
>>> list += [100] >>> list [1, 2, 'abc', 3, 4, 100] >>> list *2 [1, 2, 'abc', 3, 4, 100, 1, 2, 'abc', 3, 4, 100] >>> del list[-1] >>> list [1, 2, 'abc', 3, 4]
+[100]でリストへ追加. *を使うとそれを何回も繰り返したものを返す. あくまでlistそのものは変わらない.
del list[ ] で要素削除.
様々なメソッド
ソート
>>> list [1, 2, 120, 3, 4] >>> list.sort() >>> list [1, 2, 3, 4, 120]
リバース
>>> list2 = list.reverse() >>> list [120, 4, 3, 2, 1]
追加
>>> list.append([9,10]) >>> list [120, 4, 3, 2, 1, [9, 10]] >>> a = list >>> list.extend(a) >>> list [120, 4, 3, 2, 1, [9, 10], 120, 4, 3, 2, 1, [9, 10]]appendで1個のオブジェクト追加. extendでリスト結合.
ディクショナリ
<key, value> によって保持されるデータ型. リストはkeyに使えないことに注意.
>>> dic = {"name" : "K", "addr" : "JPN", "count" : 100} >>> dic {'count': 100, 'name': 'K', 'addr': 'JPN'} >>> dic ["hobby"] = "guitar" >>> dic ["hobby"] 'guitar' >>> dic {'count': 100, 'hobby': 'guitar', 'name': 'K', 'addr': 'JPN'}
こんなかんじで, { }でくくってkey:valueで定義します. あとは["key"]とすればvalueを探せますし,
["new key"]で新たなkey:valueを追加できます.
もちろん欲しいのkeyの一覧
>>> dic.keys() ['count', 'hobby', 'name', 'addr']
あと, keyが含まれてるかどうか
>>> dic.has_key("count") True >>> dic.has_key("hoge") False
タプル
長さも変えられないし, 書き換えもできないタプルの紹介. ディクショナリのkeyとして使えば便利かと.
>>> tup = (192,168,1,1) >>> tup (192, 168, 1, 1)
取り出し, 演算は可能. 他のタプルとして定義すればよいよね.
>>> tup2 = tup + ("abc",11) >>> tup2 (192, 168, 1, 1, 'abc', 11) >>> tup2 [3:] (1, 'abc', 11)
スライスもリストと同じです.
型変換について
もちろん便利な型変換も可能です.
>>> a = list(tup2) >>> a [192, 168, 1, 1, 'abc', 11] >>> a = tuple(a) >>> a (192, 168, 1, 1, 'abc', 11)
以上, 今回の話をまとめると,
シーケンス型の組み込み型: リスト, タプル マップ型の組み込み型: ディクショナリ 変更可能な組み込み型: リスト, ディクショナリ 変更不可能な組み込み型: タプル, (文字列も同じ)
0 件のコメント:
コメントを投稿