複数のオブジェクトを格納することのできる箱のようなもの.
配列とは異なり,型や形状の制約はない(はず).
基本操作
要素を追加する append
戻り値無しで,対象のリストが更新される.
要素を挿入する insert
list.insert(<挿入する位置>, <挿入する要素>)
戻り値無しで,対象のリストが更新される.
要素を削除する del
delは要素に限らず一般に使われる,オブジェクトを削除する手続きである.リストの要素に対して使うとその要素がリストから削除される.
同じく戻り値無しで,対象のリストが更新される.
リストを結合する +
リストを複製する *
範囲や間隔を指定する :
iterable[begin:end(:interval)]
beginからendまで,intervalの間隔でiterableから要素を抜き出してできるリストを返す.ただしend番目の要素は含まない.
要素番号が負のときは後ろから数える.-1が一番後ろ.
intervalは省略可能.負のときは後ろから進む.例えば-1にすると反転する.
要素が含まれるか判定する in
要素がリスト内にあるか確認する.
場所を調べる index
要素がリスト内に含まれている場合は,最初に現れるものの位置が返される.
存在しない場合には'ValueError'が発生.
要素の数を調べる count
指定の要素がリスト内にいくつ含まれているかを調べる.
List comprehensions
リスト内包表記
[expression for varName in iterable]
で,iterableの各要素をvarNameとしてexpressionに代入した結果がリストとして得られる.
関数も使える.
if文
if else文
zip
もちろんenumerateなども使える.通常のfor文で書くと行数が嵩んで見づらくなるので,使えるときは(読みにくくならない範囲で)内包表記を使っていくとよい.
多重内包表記なども可能だが,やりすぎると何をしているのか分かりにくくなるので注意.