List

  • リストの概要
    • 他の言語でいう配列に相当する
    • 数字、文字、文字列、リスト、辞書、関数など、どんな型のオブジェクトでも格納できる
    • 異なるオブジェクトを同時に格納できる
    • 事前にリストの長さを指定しておく必要がない

  • リストの作成
    • 直接指定して作る
      • "[]"の中に、要素をコンマで区切って列挙する
[要素0, 要素1, 要素2, ・・・]
    • 連番で作る
      • 開始整数 ≦ x < 終了整数を満たす整数 x からなるリストの作成
range(開始整数, 終了整数, ステップ)
    • シーケンスから作る
      • シーケンスをリストに変換
      • シーケンス:文字列、リスト、タプルなど
list(シーケンス)
    • リストの一部から作る
      • スライス:slice と呼ばれる操作
      • リストの指定の範囲をコピー
      • 開始インデックス ≦ x < 終了インデックスを満たすインデックス範囲をコピー
      • ステップを負の値にすると、逆順ステップ
      • 開始インデックスを省略→リストの左端から開始
      • 終了インデックスを省略→リストの右端までコピー
リスト[開始インデックス:終了インデックス:ステップ]

  • リストの読み込み
    • インデックスで指定
      • インデックスは0から始まる
リスト[インデックス]
    • 指定要素の位置を調べる
      • 任意の要素を左から順に検索する
      • 検索開始位置と検索終了位置は省略可能
リスト.index(検索する要素, 検索開始位置, 検索終了位置)
    • 指定要素の数を数える
      • 任意の要素の出現回数を数える
リスト.count(検索する要素)
    • 指定要素が含まれているか調べる
      • 任意の要素がリストに含まれていれば True
      • 含まれていなければ False
検索要素 in リスト
    • リストの長さを調べる
len(リスト)
    • 最大・最小を調べる
      • 文字も大小比較が可能
      • 文字列は先頭から1文字ずつ比較
      • key=比較関数 は省略可能
max(リスト, key = 比較関数)
min(
リスト, key = 比較関数
    • その他の集約関数
      • sum:リストの各要素を足し合わせる
      • any:リストの要素のいずれかが True であれば True を返す
      • all:リストの要素のいずれかが False であれば False を返す
sum(リスト)
any(リスト)
all(リスト)

  • リストの更新
    • インデックスを指定して代入する
リスト[インデックス] = 値
    • 範囲を指定してリストを差し込む
      • 開始インデックス ≦ x < 終了インデックスを満たすインデックス範囲にリストを差し込む
リスト[開始インデックス:終了インデックス:ステップ] = リスト
    • 要素を加える
      • 指定した要素をリストの最後に追加する
リスト.append(要素)
    • リストを拡張する
      • 指定されたリストの要素を全て追加する
      • 元のリスト自体が変更される
リスト.extend(リスト)
    • 要素を挿入する
      • 指定したインデックス位置直前に要素を挿入する
リスト.insert(位置, 挿入要素)
    • 要素を並び替える
      • 自分自身を変更するメソッドである
リスト.sort(cmp=比較関数, key=キー関数, reverse=真偽値)
リスト.reverse()
      • 新しいリストとして結果を戻す
sorted(リスト, cmp=比較関数, キー関数, reverse=真偽値
reversed(リスト)

  • リストの削除
    • 要素で指定して削除する
      • 指定した要素を削除する
      • 指定した要素が複数ある場合は、左から検索して最初に見つかったものだけを削除する
リスト.remove(削除する要素)
    • インデックスまたはスライスで指定して削除する
      • インデックスで指定した要素またはスライスで指定した範囲を削除する
del リスト[インデックス]
del リスト[開始インデックス:終了インデックス:ステップ]
  • その他のリストの操作
    • リストのコピー
      • 浅いコピー
      • 各要素をコピーするが、その要素が参照するデータまではコピーしない
リスト[:]
list(リスト)
      • 深いコピー
      • 要素の参照を全て辿り、各々のデータをコピーする
copy.deepcopy(リスト)
    • リストの比較
      • 等価比較(全ての要素の同一性を比較)
リスト == リスト
リスト != リスト
      • 大小比較(対応する要素を左から順に大小比較)
リスト >= リスト
リスト > リスト
リスト < リスト
リスト <= リスト
      • is比較(オブジェクトそのものの同一性を比較)
リスト is リスト
    • リスト内包表記
      • リストの各要素に何らかの処理を行う
      • for文よりも簡潔
[新たに追加する要素 for 取り出した要素 in 対象リスト if 条件式]

Comments