【python】タプルの使い方 書き換え不能の配列を作成する方法

2020年5月17日

タプル(tuple)は変更不可能のリストのようなものです。
一度作成してしまえば、追加・削除・変更が一切不可能です。(c言語的にはconstに近いニュアンスでしょうか)

タプル(tuple)の作り方

タプルは格納したいアイテムを丸括弧で括って宣言します。
アイテムの型は種類を問いません。タプルの中で型を統一する必要すらありません。

ソースコード

def sample1():
    tuple_test1 = ( 23, 3, 5, 76, 34 , 67 )
    tuple_test2 = ( "茶トラ", "サバトラ", "白猫", "三毛猫", "黒猫" )
    tuple_test3 = ( True, False, True, False, True )
    tuple_test4 = ( 1, "サバトラ", True, "三毛猫", "黒猫" )

    print( "型 :",type(tuple_test1) , " 内容 :" , tuple_test1 )
    print( "型 :",type(tuple_test2) , " 内容 :" , tuple_test2 )
    print( "型 :",type(tuple_test3) , " 内容 :" , tuple_test3 )
    print( "型 :",type(tuple_test4) , " 内容 :" , tuple_test4 )

実行結果

型 : <class 'tuple'>  内容 : (23, 3, 5, 76, 34, 67)
型 : <class 'tuple'>  内容 : ('茶トラ', 'サバトラ', '白猫', '三毛猫', '黒猫')
型 : <class 'tuple'>  内容 : (True, False, True, False, True)
型 : <class 'tuple'>  内容 : (1, 'サバトラ', True, '三毛猫', '黒猫')

for文を使ってアイテムを取り出す

for文中のtmpにはtuple_testの先頭から順番に格納されます。(1→・・・→黒猫の順番)
取り出された時も型は維持されます。勝手に変換されません。

ソースコード

def sample2():
    tuple_test = ( 1, "サバトラ", True, "三毛猫", "黒猫" )

    for tmp in tuple_test:
        print( "型 :", type(tmp), " 内容 :",tmp)

実行結果

型 : <class 'int'>  内容 : 1
型 : <class 'str'>  内容 : サバトラ
型 : <class 'bool'>  内容 : True
型 : <class 'str'>  内容 : 三毛猫
型 : <class 'str'>  内容 : 黒猫

インデックスを使用してアイテムを取り出す

作成したtuple_test は5つアイテムがあるので0から4を指定することで直接取り出すことができます。

ソースコード

def sample3():
    tuple_test = ( 81, "キジトラ", True, "たけのこ", "ひらめ" )

    tmp0 = tuple_test[0]  #81
    tmp1 = tuple_test[1]  #キジトラ
    tmp2 = tuple_test[2]  #True
    tmp3 = tuple_test[3]  #たけのこ
    tmp4 = tuple_test[4]  #ひらめ

    print( "型 :",  type(tmp0), " 内容 :", tmp0 )
    print( "型 :",  type(tmp1), " 内容 :", tmp1 )
    print( "型 :",  type(tmp2), " 内容 :", tmp2 )
    print( "型 :",  type(tmp3), " 内容 :", tmp3 )
    print( "型 :",  type(tmp4), " 内容 :", tmp4 )

実行結果

型 : <class 'int'>  内容 : 81
型 : <class 'str'>  内容 : キジトラ
型 : <class 'bool'>  内容 : True
型 : <class 'str'>  内容 : たけのこ
型 : <class 'str'>  内容 : ひらめ

ソースコードはこちらから

このページで紹介している記事のソースコードの販売を行っています。
python基本を押さえたソースコードを収録しています。
購入頂いたソースコードは商用利用OKになります。

ソースコードの販売はこちら