Pythonの型に関して第3回目になります。前回分を未読の方は第1回第2回を先に読むと理解が進むと思います。今回は以下の3つの型にいてお話します。



Tuple (タプル)

Tuples (タプル) とは、前回勉強したリストと同じように複数のデータを格納することができますが、一度作成されると変更ができません。Immutable (イミュータブル) と言います。またリストでは名前のリストやテストの点数のリストというように同じ種類のデータをひとまとめにしますが、タプルは住所、氏名、年齢といった異なる形式の要素をまとめることもできます。

では、タプルの例を見ていきましょう。

a = ("Tokyo", "Ryuichiro", "20")
b = ("aaa", "bbb", "ccc")
type(a)
Out[1]: tuple

aは住所、氏名、年齢に対応する”Tokyo”、”Ryuichiro”、”20″が入ったタプルです。bには3つの文字列が要素として入っています。()で囲むとタプルを作成することができます。type()関数でaの型を確認しました。

タプルは変更を許可しない変数を定義するときに使用するととても便利です。

Set (セット)

Sets (セット) とはリストと同じく複数のデータを格納することができますが、集合を取り扱う型になります。
このようにセットには以下の2つの特徴があります。

  • 同じ要素が重複しない
  • 要素の順番がない

例えば、Aという集合にAという集合を追加すると、リストの場合は”A A”となりますが、セットの場合は”A”のみです。また、”A”に”A, B”という集合を追加すると、リストの場合は”A, A, B”となりますが、セットの場合は”A, B”となります。このように集合の概念を取り扱うことができるため、セットでは”A, B”と”B, A”が同じものになります。各要素に対して順番が定義されません。

では、セットの例を見てみましょう。

set_a = set([1,2,3])
set_b = set([1,2,3,1,2,3])
set_b
Out[2]: {1, 2, 3}
set_a == set_b
Out[3]: True
type(set_a)
Out[4]: set

セットを作成するには、set()関数を使用します。この例では、set_aとset_bを作成しました。

set_bを作成する際に意図的に1, 2, 3を重複しましたが、set_bを表示すると1, 2, 3の3つの数字しか入っていません。重複した数字はセット内で1つの要素として扱われます。そのため、set_aとset_bが同じかどうかを確認するために演算子”==”を使うとTrueが返ってきました。

最後にset_aの型を確認しました。

セットはリスト同様に一度作成しても値の追加や削除等が可能です。

Dictionary (ディクショナリー、辞書)

Dictionary (ディクショナリー、辞書) はその名の通り辞書型といわれるものになります。別名でマップとも呼ばれます。Key (キー) とValue (値)が一対で対応した形を取ります。

dic_a = {"USA":1, "Japan":2, "France":3}
dic_b = {"apple":"red", "banana":"yellow"}
type(dic_a)
Out[5]: dict
dic_a["USA"]
Out[6]: 1
dic_b["banana"]
Out[6]: 'yellow'

辞書を作成するには、{キー:値} という形を取ります。

dic_aではUSAが1, Japanが2, Franceが3というように国に対して各数字が対応しています。dic_bでは果物と色が対応しています。

type()関数でdic_aの型を確認しています。また残りの2つではUSAとbananaのキーに対応する値にアクセスしています。

まとめ

以上計3回の投稿を通じてPythonの変数と型について概要を説明しました。今回扱った3つの型は第1回、第2回で取り扱った型に比べると使用頻度が低いかもしれません。しかし、このような型があることは覚えておいてください。

  •  Tuple (タプル)
  •  Set (セット)
  •  Dictionary (ディクショナリー、辞書)

次回からはそれぞれの型の使い方を詳しく学んでいきましょう!