DESIGNMAP

  1. TOP
  2. 公開講座
  3. ゼロから始めるPython入門
  4. タプル ー ゼロから始めるPython入門【Vol.11】

タプル ー ゼロから始めるPython入門【Vol.11】

タプルは読み取り専用のリストです。要素の追加、削除、変更ができないリストです。
丸括弧でくるみ、カンマで複数の要素を格納できます。

対話実行モードで確認してみましょう。

Windowsはコマンドプロンプト、Macはターミナルを起動します。Windowsは「python」、Macは「python3」と入力して[Enter]キーをおします。
対話実行モードに切り替わります。

タプルの定義と読み取り

下記のようなコードを書くとエラーが表示されます。一度定義したタプルの値を変更することはできません。

>>> tuple = ("太郎", "次郎")
>>> tuple[1] = "三郎"
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'tuple' object does not support item assignment

タプルの値を取り出すときは、リストと同じで角括弧にオフセット値をつけます。

>>> tuple = ("太郎", "次郎")
>>> tuple[1]
'次郎'

様々なデータを格納でき、値の重複も可能

リストと同じで様々なデータを格納でき、値の重複も可能です。

>>> tuple = (1, "みかん", True, True)
>>> tuplr
>>> tuple
(1, 'みかん', True, True)

スライスで取り出すことも可能

リストでつかったスライスも使えます。

>>> tuple = ("バナナ", "リンゴ", "メロン", "スイカ", "みかん", "もも")
>>> tuple[3:5]
('スイカ', 'みかん')

スライスの実行結果はリストの時と同じです。スライスについてはリストの回をご覧ください。

丸括弧は省略できる

タプルを定義するときは、丸括弧は必須ではなく、データをカンマで区切ればタプルがつくれます。

>>> tuple = "みかん", "いちご", "メロン"
>>> tuple
('みかん', 'いちご', 'メロン')

ただし、本講座ではコードを読みやすくするために丸括弧は省略しないで書いていきます。

タプルは一度で複数の変数に代入ができる

タプルは一度で複数の変数に代入ができます。
タプルから順番に展開されて、変数に代入されていきます。

>>> tuple = ("みかん", "いちご", "メロン")
>>> fruits1, fruits2, fruits3 = tuple
>>> fruits1
'みかん'
>>> fruits2
'いちご'
>>> fruits3
'メロン'

タプル同士の代入

タプルからタプルへ代入が可能です。変数と変数の値を交換するコードが書けます。

>>> num1 = 10
>>> num2 = 20
>>> (num1, num2) = (num2, num1)
>>> num1
20
>>> num2
10

タプルの丸括弧は省略できますので、

>>> num1, num2 = num2, num1

と書くことが可能です。ダイレクトに変数の値をいれかえることができます。

タプルをつかった可変長引数

タプルを使うと関数のひとつの引数に、任意の数の要素をもったタプルを渡すことができます。
関数の定義側の引数の変数の頭に*をつけます。

quit()とタイプして[Enter]キーをおして実行対話モードを終了します。
Atomを起動します。[ファイル]メニュー→[新規ファイル]をクリックします。[ファイル]メニュー→[保存]をクリックします。Vo.3につくった「python-study」フォルダ内に、「tuple1.py」というファイル名で保存します。

def hello(*args):
    print(args[0])
    print(args[1])
    print(args[2])

hello("田中", "佐藤", "小林")

実行すると以下のように出力されます。

田中
佐藤
小林

下記のようにforを使うこともできます。

def hello(*args):
    for name in args:
        print(name)

hello("田中", "佐藤", "小林", "鈴木")
田中
佐藤
小林
鈴木

スポンサーリンク

関連記事

プロフィール

DESIGNMAP
制作ディレクター。フリーランス。
ON VISITING」を運営。
お問い合わせ