ウェブサイト検索

Python タプルのデータ構造を学ぶ - パート 2


Python データ構造シリーズのこのパート 2 では、タプルとは何か、Python の他のデータ構造との違い、タプル オブジェクトの作成方法、削除方法について説明します。タプル オブジェクトのメソッドと、タプルがリストとどのように異なるかについて説明します。

  • Python のタプルはリストのデータ構造に似ていますが、リストとタプルの主な違いは、リストが可変型であるのに対しタプルは不変型であることです。
  • タプルは、インデックス作成 (正のインデックスと負のインデックスの両方) とスライス操作をサポートします。
  • タプルは一般に、異種データを格納するために使用されます。
  • リストと比較して、タプルの反復処理は高速です。
  • タプルはハッシュ可能であるため、辞書オブジェクトの「キー」として使用できます。
  • リストやセットなどの変更可能なデータ型をタプル内に格納することもできます。
  • タプルの要素は、要素が可変型でない限り変更できません。
  • タプルは括弧 "()" を使用して表されます。

タプルオブジェクトの構築

リストと同様に、 タプルにもオブジェクトを構築する 2 つの方法があります。

  1. タプル コンストラクター メソッド「tuple() 」。
  2. カンマで区切られた値を含む括弧。

: 空のタプルまたは多くの値を含むタプルを作成できますが、1つの値を含むタプルを作成する場合は、値の末尾にカンマを追加する必要があります。そうしないと、タプル オブジェクトとはみなされません。

カンマで区切って変数に複数の値を代入することで、 括弧なしのタプルを作成することもでき、それがタプル オブジェクトに変換されます。これをタプルパッキングと呼びます。

タプルのインデックス作成とスライス

リストと同様に、タプルもインデックス作成とスライス操作をサポートします。

タプル内の各項目は、(0) から始まるインデックス位置と (-1) から始まる負のインデックス位置に割り当てられます。インデックス位置にアクセスして値を取得したり、 タプル項目がリストセットなどの可変型のみの場合は更新することもできます。

スライスを使用してリスト内の項目にアクセスすることもできます。スライスを使用すると、開始、終了、ステップのパラメーターを定義することで、さまざまな項目にアクセスできます。

タプルは不変型なので、タプルの要素を変更したり削除したりすることはできませんが、タプル内に存在する変更可能な要素を変更または削除することはできます。

次の例を考えてみましょう。

b = (1,2,3,'Leo',[12,13,14],(1.1,2.2))

タプル b 内のインデックス 4 には可変オブジェクト リストがあります。ここで、このリストの要素を変更または削除できます。

タプルメソッド

組み込みの “dir() ” 関数を使用して、タプル オブジェクトのメソッドと属性にアクセスします。

count(x) メソッド – タプル内に x が存在する回数を返します。

Index(x) メソッド – x の最初のインデックス位置を返します。

リストと同様に、“+ ” 演算子を使用して 2 つのタプル オブジェクトを 1 つのオブジェクトに結合できます。

タプルオブジェクトの削除と削除

タプルは不変型なので、そこから要素を削除することはできません。組み込みキーワード “del ” を使用して、名前空間からタプル オブジェクトを削除できます。

まとめ

この記事では、タプルとは何か、タプルの構築方法、インデックス作成とスライス操作の使用方法、タプルのメソッドなどについて説明しました。不変型であるタプルは、「タプル」として使用できます。キー 」を辞書オブジェクトに追加します。タプルの反復処理は、リストに比べて高速です。プログラム全体でデータを一定に保つ場合は、タプルを使用するのが最適です。

次回の記事では、別の組み込みデータ構造辞書を見ていきます。それまでは、 ここでタプル について詳しく読むことができます。