Pythonのタプルを使う

Pythonのタプル型

おはようございます。@minomonchanです。

前回と前々回でリスト型、辞書型を学習してきました。

今回は、タプル型について学びましょう。

リストと辞書が理解できていれば、タプルはそんなに難しくありません。

Pythonのタプルを学ぼう

タプルはリストによく似たデータ型です。

インデックスを使って要素を管理し、さまざまな種類のオブジェクトを格納することができます。

インデックスを指定して、要素を取り出したり、スライスを使って複数の要素を取り出すこともできます。

リストとの違いは、リストは要素を書き換えることができますが、タプルはそれができないことです。

タプルの要素を置き換えようとするとエラーになります。

一度、作ったタプルは長さを変えることもできません。

それでは、さっそくタプルを使ってみましょう。

タプルを定義する


#!/usr/bin/env python
#-*- coding: utf-8 -*-

def main():
    t = (1, 2, 3, 4, 5)
    print (t)
    
if __name__ == '__main__':
    main()

これを実行すると、変数tにタプルが格納されているのが分かります。

タプルを利用する

タプルはインデックスを使って要素を取り出します。

スライスを使って複数の要素を取り出すこともできます。

この点は、リストと同じなので詳しい説明は不要でしょう。


#!/usr/bin/env python
#-*- coding: utf-8 -*-

def main():
    t = (1, 2, 3, 4, 5)
    print (t[1])
    print (t[0:2])
    print (t[-4:])
    
if __name__ == '__main__':
    main()

リストの時に学習した方法で、いろいろな書き方で要素を取り出して下さい。

タプルはどういう時に使うの?

タプルは、要素を置き換えることができなかったり、長さを変えることができません。

リストに比べると使い勝手が悪そうですよね。

では、タプルの利点はどこにあるのでしょう?

タプルの利点はいくつかあるのですが、その1つはタプルは辞書のキーとして利用できる点です。

例えば、IPアドレスと、ドメイン名を格納した辞書などを作るときに役立ちます。


#!/usr/bin/env python
#-*- coding: utf-8 -*-

def main():
    ipmap = {(183, 79, 217, 124):"yahoo.co.jp", (172, 217, 26, 36):"google.com"}
    
    print (ipmap[(183, 79, 217, 124)])
    
if __name__ == '__main__':
    main()

これを実行するとタプルをキーとして辞書が作成できているのが分かります。

まとめ

タプルの解説は以上です。

リストや辞書を理解できていれば、タプルは難しくないですよね。

タプルはリストや辞書と比べると、それほど頻繁に使うものではないので、とりあえずタプルというのがどんなものかがわかれば十分かと思います。

次回は、if分の解説です。いよいよ本格的なプログラミングの勉強になります。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする