Tuple

  • タプルの概要
    • 変更不可能なオブジェクト
    • 数字、文字列、リストなど、どんなオブジェクトでも格納できる
    • 要素は型を選ばない

  • タプルの作成
    • 直接指定して作る
      • 要素が1つだけのタプルを作るには、要素の末尾に "," をつける
      • 要素を何も指定しなければ空のタプルができる
(要素1, 要素2, 要素3, ・・・)
    • tuple関数を使う
      • シーケンス(リスト、文字列、タプル)からタプルを作る
tuple(シーケンス)
    • タプルの一部から作る(スライス)
      • 指定した範囲をコピー
      • 開始インデックス ≦ x < 終了インデックスを満たすインデックス範囲をコピー
      • ステップを負にすると、逆順ステップ
      • 開始インデックスを省略→リストの左端から開始
      • 終了インデックスを省略→リストの右端までコピー
タプル[開始インデックス:終了インデックス:ステップ]

  • タプルの読み込み
    • インデックスで指定する
      • 任意の要素へ0から始まるインデックスを用いてアクセスする
タプル[インデックス]
    • 位置を調べる
      • 任意の要素を左から検索し、初めに一致した要素のインデックスを返す
      • 検索開始位置と検索終了位置は省略可能
タプル.index(検索する要素, 検索開始位置, 検索終了位置)
    • 指定要素の数を数える
      • 指定した要素の出現回数を数える
タプル.count(検索する要素)
    • 指定要素が含まれているか調べる
      • タプルの中に指定した要素が含まれていればTrue、含まれていなければFalseを返す
検索要素 in タプル
    • タプルの長さを調べる
      • 指定したタプルの長さを調べる
len(タプル)
    • 最大・最小を調べる
      • タプル同士で比較する場合は、左から要素同士を比較していく
      • Key=比較関数 省略可能
max(タプル, key=比較関数)
min(
タプル, key=比較関数
    • その他の集約関数
      • sum関数はタプルの各要素を足し合わせる
      • any関数はタプルの要素のいずれかがTrueであればTrueを返す
      • all関数はタプルの要素のいずれがFalseであればFalseを返す
sum(タプル)
any(タプル)
all(タプル)

  • タプルの更新
    • 変更不可能
    • 更新はできないが、高速(生成がリストの約10倍、参照は約1.2倍の速さ)

  • タプルの削除
    • 要素の削除は不可能
    • delでタプルそのものを削除できる
del タプル

  • その他のタプルの操作
    • タプルのコピー
copy.deepcopy(タプル)
    • タプルのソート
      • 更新はできないので、要素を並べ変えたものを新しいリプルとして作成する
      • 元のタプルはそのまま残る
tuple(sorted(タプル))
    • タプルの比較
      • 等価比較(全ての要素の同一性を比較)
タプル == タプル
タプル != タプル
      • 大小比較(対応する要素を左から順に大小比較)
タプル >= タプル
タプル > タプル
タプル < タプル
タプル <= タプル
      • is比較(オブジェクトそのものの同一性を比較)
タプル is タプル

Comments