【Python】タプルを使う3つのメリットとリストとの違い

※アフィリエイト広告を利用しています

python リスト タプル

この記事ではPythonにおける
リストとタプルの共通点と違いについて
わかりやすく解説していきたいと思います。

リストについてはいろんな場所で
解説しています。

興味のある方はこちらの記事もご覧ください。

それでは本題に入っていきましょう。

スポンサードリンク




Pythonで登場するタプルとは?リストと何が違う?

タプルとは

Pythonに登場するタプルとは
どういったものなのでしょうか?

ここではわかりやすさを重視してタプルについて解説します。
タプルとはリストとかなり似ています。

#例題1(リストの具体例)

a = ['私生活','養育費','ビクつく','ブラックバイト']

print(a)

リストは例題1のように[]にくくって使用します。
実行すると、
[‘私生活’, ‘養育費’, ‘ビクつく’, ‘ブラックバイト’]
と表示されます。

タプル

上記のようなリストにタプルは似ています。

だから、リストと同じような感覚で
例題1のような文字列を表示させることができます。

リストは[]でしたが、
タプルだと()となります。

#例題2(タプルの具体例)タプルは()でくくる。
# リストは[]でくくるので違います。

a = ('私生活','養育費','ビクつく','ブラックバイト')


print(a)

例題2はタプルの具体例ですが
実行すると、例題1のリストと同じ結果が返ってきます。

タプルの具体例

なので、タプルといっても
リストと同じような使い方をすることができるんです。

ですがリストとタプルでは違いもあります。

例題3と例題4を見ることで
タプルとリストの違いが鮮明になってくると思います。

#例題3(リストの変更)
# リストは[]でくくる。
# a2]とはリストaの左から3番目『ビクつく』を意味します。

a = ['私生活','養育費','ビクつく','ブラックバイト']

a[2] = '平常心'

print(a)

例題3ではリストaの左から3番目『ビクつく』を
『平常心に変更してみました。

なので実行してみると
[‘私生活’, ‘養育費’, ‘平常心‘, ‘ブラックバイト’]
となります。

リストの変更

ではタプルって変更できるのでしょうか?

#例題4(タプルの変更)
# タプルは()でくくる。

a = (私生活','養育費','ビクつく','ブラックバイト')

a(2) = '平常心'

print(a)

例題4では例題3のような感じで
タプル内の要素を変更しようとしてみました。

ですが、実行してみるとエラーが出ます。

タプルの変更

こんな感じで、リストは変更できるのですが
タプルは変更できません。

これがタプルとリストの違いです。

ここがわかればあとは
リストとタプルは似たようなものです。

たとえばタプルもリストと同様に
タプル同士を結合させることはできます。

#例題5(複数のタプルの結合)
# タプルは()でくくる。

a = ('私生活','養育費','ビクつく','ブラックバイト')
b = ('マイクタイソン','めんどくさいオバサン','ベッカム')

c = a + b
print(c)

上記を実行すると

(‘私生活’, ‘養育費’, ‘ビクつく’, ‘ブラックバイト’, ‘マイクタイソン’, ‘めんどくさいオバサン’, ‘ベッカム’)

となります。

タプルの結合

「じゃ、変更ができないんだったらタプルなんて使う意味ないのでは?」
と思われた方もいるでしょう。

そこで、以下、リストでなくタプルを使うメリットを
3つご紹介したいと思います。

スポンサードリンク




【Python】リストがあればタプルなんていらないんじゃないの?

どうしてPythonには

・リスト
・タプル

という、かなり似ている2つが
存在しているのでしょう?

リストは中の要素を変更できます。
でもタプルは変更できません。

そう考えると、リストだけあれば
タプルなんて必要ないように思えます。

スポンサードリンク




【Python】リストでなくタプルを使うメリット1.

タプルのメリット

タプルのデメリットは変更ができないってことでした。

以下のように一度、タプルとして設定してしまうと
その後、中の要素を変更したいと思っても変更できません。
タプルの変更

でも、変更できないというのがメリットになることもあるんです。

たとえば、人の名前、特に下の名前は変更することは通常ありませんね。
安藤良子さんという人が仮にいたら
安藤は結婚したら変更されるかもしれません。

でも、良子はふつう変更されません。

こういった名前なんて、タプルの方がむしろ良い場合だってあるわけです。
こんなことはないかもしれませんけど、
ハッカーが侵入してきて、名前を変更してくるかもしれません。

そうしたら、大事な顧客情報が書き換えられてしまいます。
そういったリスクを減らすためにタプルを使うわけですね。

他にもAPIキーみたいなものも
リストではなくてタプルを使った方がよいでしょう。
変更ができないことがむしろ信頼感が増すことがあるわけですね。

【Python】リストでなくタプルを使うメリット2.

Pythonの辞書って存在している期間中
変更できません。

簡単にいうと、私たちが持っている一般的な辞書が
知らぬ間に変更されてしまうと
困ってしまいますよね。

たとえば、義務教育という言葉があった時に
突然、内容が変更されたとします。

『義務教育とは自分の意志で辞めれる教育のこと』と
内容が変更されたら、日本中の人が混乱してしまうでしょう。

そういったことを避けるためにPythonの辞書は
変更ができません。

こういうのを専門用語でハッシュ可能っていいます。

『ハッシュ可能=変更できない』
ってことです。

変更できないということはリストではなくて
タプルが向いているわけです。

なので、こういった辞書みたいなものを扱うときにも
タプルが有効だといえますね。

【Python】リストでなくタプルを使うメリット3.

リストではなくタプルを使用する3つ目のメリットは
処理速度です。

微々たるものかもしれませんが
タプルの方がリストより処理速度が上がります。

なので、少しでも動作を速くしたい場合には
リストではなくてタプルを使った方がよいでしょう。
でも、タプルは一度設定したら変更ができないので
ご注意ください。

以上で解説を終わります。

pythonを学ぶならこちらの動画講座がおすすめです

Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする

かなり長い講座名ですね。
わかりにくそうな感じがします。

ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。

また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。

それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。

なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。

値段は時期によって違います。

詳しくはこちらをご覧ください。


みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。

そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。

単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。

なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。


Pythonで機械学習:scikit-learnで学ぶ識別入門

この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。

すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。

でもそんなことはありません。
すごくわかりやすいです。

pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。

詳しくはこちらをご覧ください。

関連記事

ページ上部へ戻る