Python

【Python入門】"タプル"とは?

Pythonのタプルとは

タプルとは、リストや辞書型といった複数の要素を管理するデータ型の一種です。

タプルの特徴としては、

  • 要素を追加・削除・変更できない
  • () と , がトレードマーク
  • 使用メモリがリストに比べて小さい
  • 多くの場合でリストよりタプルの方が早く演算できる
  • リストや辞書型と併用できる
  • list() と tuple() 関数でデータ型は変更できる

などがあります。
この中でも一番のポイントは、「要素を追加・削除・変更できない」という点です。
このような特徴から”タプル”は、定数リストとも言われていますよ。

では実際のサンプルコードでタプルとリストを比較してみましょう。

〇 タプル

# タプルの定義
tuple_x = (1, 2, 3, 4, 5, 'abcde')
# タプルの中身の出力
print(tuple_x)
# タイプの出力
print(type(tuple_x))

このように2行目でタプルを定義して、4行目ではタプルの中身の出力をし、6行目ではタイプを出力しています。
実行結果は、

(1, 2, 3, 4, 5, 'abcde')
<class 'tuple'>


と出力されます。

〇 リスト

# リストの定義
list_x = [1, 2, 3, 4, 5, 'abcde']
# リストの中身の出力
print(list_x)
# タイプの出力
print(type(list_x))

こちらも先ほどと同じように、2行目でリストを定義して、4行目ではリストの中身の出力をし、6行目ではタイプを出力しています。
実行結果は、

[1, 2, 3, 4, 5, 'abcde']
<class 'list'>


このようになります。
実行した結果はどちらも似た結果になりましたね。

タプルの使いどころ

では次に”タプル”の使いどころです。

「でも、リストも辞書もタプルも同じ感じならわざわざ”タプル”を使うこともないと思うのですが。

「そこなんですよ。実はちゃんと「使いどころ」というものがあるので、特別に伝授しましょう!」

データを「リスト」でも「辞書型」でもなくあえて「タプル」で扱いたい時は、次のような場合があると思います。

  • 要素の順番を変えられたくない時
  • データ型に変更が出ない場合(固定の場合)

まぁ最初にお話しした通りにはなるんですが、やはり一番の使いどころは、格納するデータを変更したくない場合順番も変えられたくない場合に有効です。

 

Pythonのタプルを実際に使ってみよう

では早速Pythonのタプルを使ってみましょう。
基本の構文は先ほどお話しした通りですが、実際に使うときにはどのように使うのでしょうか。

タプルの作り方

今回は、簡単な a, b, c という英字をタプルで管理してみます。

  1, まずはタプルへ格納する要素の準備をしましょう。

# 格納するデータの準備
'a', 'b', 'c'

数字の場合は 1, 2, 3、文字列の場合は 'a', 'b', 'c' と , (コンマ) で区切ることで、タプル型になります。
また上記結果のように、実は()がなくてもタプルの扱いになるのですが、可読性や常習性の点から()を つけて記述するようにしましょう。

  2, 次に要素を変数で管理します

# タプル要素を変数 x に代入します
x = ('a', 'b', 'c')

  3, 最後に作成した”タプル”を操作してみます

# 先ほど作ったタプルの入った変数 x を出力して表示
print(x)

こうすることで、変数 x に入っているタプルが表示されます。

まとめ

「リスト」に比べてややマイナーなイメージのあるタプルですが、Pythonの基礎学習では必ず登場してきます。

またタプルを学習しだすと関数(open()やremove())もしくは引数(add(2)など)と混同するときもあると思います。

これは 『 タプル =()カッコ 』と認識しているからだと思います。

タプルの作り方でもご紹介したように、()カッコではなく ,コンマ でPythonはタプルを認識しています。

タプル習得のコツは、『 ()カッコ と ,コンマ で管理するデータ型がタプル 』と認識すると関数や引数などと混同せずにスムーズに学習が進められると思いますよ。

 


最近の投稿

Copyright© FUNA BLOG , 2024 All Rights Reserved.