真姫「今回はリストの解説よ」
絵里「フランツ・・・」
真姫「・・・リストは私も大好きだけど。絵里ってそんな冗談言うキャラだっけ?」
にこ「最近賢くないエリーチカだもんね♪」
絵里「ちょっと、場を和ませようとしただけなのに・・・」
真姫「リストの定義は、順序が保持されるデータの集合、ってところかしら」
にこ「よくわかんないにこ」
1 2 |
bibi = ['eli', 'nico', 'maki'] |
真姫「これがリスト。データが一直線に並んでいるだけよ」
絵里「こうしてみると単純ね」
真姫「データ1つ1つをリストの要素と呼ぶわ。これは3要素のリストで、1番目の要素がeli」
にこ「数値とかでも同じことできるの?」
真姫「何でもOKよ」
1 2 |
[u'絢瀬絵里', '3rd', 88] |
にこ「ぐぬぬ」
真姫「リストもデータだから、多次元リストも書けるわ」
1 2 3 4 5 6 |
muse = [ ['maki', 'rin', 'hanayo'], ['honoka', 'umi', 'kotori'], ['nico', 'eli', 'nozomi'] ] |
絵里「結構複雑なデータ構造が表現できそうね」
真姫「リストはPythonの肝の1つよ。ちゃんと覚えておくこと」
真姫「実はリストと、前回絵里が説明してくれた文字列は、同じシーケンス型に分類されるの」
絵里「シーケンス・・・何かの並びを表現する感じかしら」
真姫「そうね。文字列は、文字に特化したリストと考えてもいいわ」
にこ「文字列でできたことがリストでもできたりするの?」
真姫「例えばスライス操作はそのままできるわ」
1 2 3 4 5 6 7 8 9 10 11 |
bibi = ['eli', 'nico', 'maki'] bibi[1] # => 'nico' bibi[1:] # => ['nico', 'maki'] muse = [ ['maki', 'rin', 'hanayo'], ['honoka', 'umi', 'kotori'], ['nico', 'eli', 'nozomi'] ] muse[1][2] # => 'kotori' |
真姫「リストにも色々便利な操作があるの。全部は紹介しきれないけど・・・」
真姫「リストへの要素の追加はappend
」
1 2 |
['nico', 'maki'].append('eli') # => ['nico', 'maki', 'eli'] |
真姫「値を指定した要素の削除はremove
」
1 2 |
['nico', 'maki', 'eli'].remove('nico') # => ['maki', 'eli'] |
真姫「インデックスを指定した要素の削除はdel
文」
1 2 |
del ['nico', 'maki', 'eli'][1] # => ['nico', 'eli'] |
真姫「探索はindex
」
1 2 |
['nico', 'maki', 'eli'].index('eli') # => 2 |
真姫「リストの結合はextend
」
1 2 |
['nico', 'maki', 'eli'].extend(['honoka', 'kotori', 'hanayo']) # => ['nico', 'maki', 'eli', 'honoka', 'kotori', 'hanayo'] |
真姫「このくらい覚えておけば、大抵のことはできると思うわ」
にこ「思いのほか簡単そうだったわね」
絵里「なんか、色々できそうな気がしてきたわ」