この記事では、Pythonでよく使用されるデータ構造であるタプルとリストについて解説します。両者の基本的な使い方から違い、そしてそれぞれが最も活きる状況について具体的なコード例とその解説、応用例を含めています。
目次
タプルとリストの基本
タプルとリストは、Pythonのデータ構造の中で最も基本的なものとされています。しかし、これらは何が違い、どのような場面で使い分けるべきなのでしょうか。
タプル(Tuple)
タプルは不変(immutable)なオブジェクトであり、一度作成したら内容を変更することができません。
タプルの作成
# タプルの作成例
my_tuple = (1, 2, 3)
# 空のタプル
empty_tuple = ()
リスト(List)
リストは可変(mutable)なオブジェクトであり、作成後にも内容を変更することができます。
リストの作成
# リストの作成例
my_list = [1, 2, 3]
# 空のリスト
empty_list = []
タプルとリストの違い
不変性 vs 可変性
タプルは不変ですが、リストは可変です。これが最も基本的な違いです。
シンタックス
タプルは丸括弧()を、リストは角括弧[]を使用します。
メソッド
リストには多くの便利なメソッド(append, removeなど)がありますが、タプルにはありません。
パフォーマンス
タプルの方がリストよりもメモリ効率が良く、処理速度も高速です。
使いどころと応用例
タプルの応用例
関数の複数の値の返却
# 関数で複数の値を返す
def my_function():
return 1, 2, 3
a, b, c = my_function()
要素のアンパッキング
# タプルのアンパッキング
x, y, z = (1, 2, 3)
リストの応用例
動的なデータの格納
# リストでデータを動的に追加
my_list = []
for i in range(3):
my_list.append(i)
リスト内包表記
# リスト内包表記でリストを作成
squared = [x*x for x in range(4)]
スライシング
# リストのスライシング
sub_list = my_list[1:3]
まとめ
タプルとリストは、それぞれ特有の性質と用途があります。タプルは不変性と高速性が求められる場面で、リストは可変性と柔軟性が求められる場面でよく使用されます。この記事で解説した各応用例を参考に、適切なデータ構造を選んでプログラミングしてみてください。
コメント