リストとタプル、それぞれいつ使うべきでしょうか? [重複] 質問する

リストとタプル、それぞれいつ使うべきでしょうか? [重複] 質問する

Python では、いつリストを使用し、いつタプルを使用すればよいのでしょうか?

時には選択肢がないこともあります。例えば、

"hello %s you are %s years old" % x

x はタプルである必要があります。

しかし、API を設計し、データ型を選択する場合、ガイドラインは何でしょうか?

ベストアンサー1

タプル本質的には固定サイズですがリストは動的です。
つまり、 atuple不変ですが、 alist可変です。

  1. タプルに要素を追加することはできません。タプルには append メソッドや extend メソッドがありません。
  2. タプルから要素を削除することはできません。タプルには、remove メソッドや pop メソッドはありません。
  3. タプルは変更されないので、タプル内の要素を見つけることができます。
  4. in演算子を使用して、タプル内に要素が存在するかどうかを確認することもできます。

  • タプルはリストよりも高速です。定数の値セットを定義し、それを反復処理するだけの場合は、リストではなくタプルを使用します。

  • 変更する必要のないデータを「書き込み保護」すると、コードがより安全になります。リストの代わりにタプルを使用すると、このデータは定数であるという暗黙の assert ステートメントが存在するのと同じで、それをオーバーライドするには特別な考慮 (および特定の関数) が必要になります。

  • 一部のタプルは辞書のキーとして使用できます (具体的には、文字列、数値、その他のタプルなどの不変の値を含むタプル)。リストは変更可能であるため、辞書のキーとして使用することはできません。

ソース:Python 3 に飛び込む

おすすめ記事