こんにちは!ぼりたそです。今回はPythonのタプルについてまとめてみました。
この記事は以下のポイントをまとめています。
タプルはリストと同様に複数のデータ(要素)を格納できるデータ型です。しかし、機能としてはリストと異なり、Pythonを学ぶ上で重要となってきますので、ぜひみていって下さい。
タプルとは?
タプルとはデータ型の一つであり、要素を複数持つことができます。構造としては要素を()で括った形式になり、(1,2,3,4,5)などがタプルに該当します。これだけ聞くとリストと変わらないように聞こえますが、リストとの大きな違いとしてタプルは要素の変更ができないという点が挙げられます。なので、変更したくないデータに使用されます。
今しがた、タプルは要素の変更ができないと言いましたが、正確に言えば頑張れば変更することもできます。今回はタプルの要素変更などについて以降解説します。
タプルの作成
タプルを作成するには主に以下二つの方法があります。
- 要素を()で囲って変数に代入
- 要素の羅列を変数に代入
要素を()で囲って変数に代入
タプルを作成する方法として要素を()で囲って変数に代入する方法があります。
t = (1,2,3,4,5)
print(type(t))
#出力結果
#tuple
要素の羅列を変数に代入
タプルを作成する方法として要素の羅列を変数に代入する方法もあります。
t = 1,2,3,4,5
print(type(t))
#出力結果
#tuple
要素の追加
タプルは要素の追加はできないと記載しましたが、以下二つの手法を使えば可能ではあります。
- タプルの連結
- リスト変換後に追加
タプルの連結
タプルの連結は単純にタプル同士を+の演算子で繋ぎ合わせるだけです。
t1 = (1,2,3,4,5)
t2 = (6,7,8,9,10)
t = t1 + t2
print(t)
#出力結果
#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
リスト変換後に追加
タプルに要素を追加する方法としてはリスト変換後に追加する方法があります。
t1 = (1,2,3,4,5)
l = list(t1)
l += [6,7,8,9,10] #複合代入演算でlに[6,7,8,9,10]を連結
t = tuple(l)
print(t)
#出力結果
#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
要素の削除
タプルに要素を削除するメソッドはありませんが、スライスを使用することで擬似的に削除することができます。
スライスの使用
スライスを使用して新たにタプルを定義することで擬似的に要素を削除することができます。
t1 = (1,10,100,1000,10000)
t = t1[:3]
print(t)
#出力結果
#(1,10,100)
要素の並び替え
タプルの要素を並び替える方法としてはsortedメソッドを使用する方法が挙げられます。
sortedメソッド
sortedメソッドはsortメソッドと違い、非破壊的なメソッドとなっています。このsortedメソッドを使用するとリスト型になってしまうので、再度タプルに変換する必要があります。
t1 = (8,5,7,9,1,3)
l = sorted(t1, reverse=False)
t = tuple(l)
print(t)
#出力結果
#(1,3,5,7,8,9)
終わりに
以上、タプルについて解説してみました。リストと似ていると思いきやかなり違ったことに驚いたのではないでしょうか。このタプルを使いこなせればジャンケンのゲームを作ったりできるので、ぜひ挑戦してみましょう!