Python TUPLE – パック、アンパック、比較、スライス、削除、キー
Python のタプル マッチングとは
Python でのタプル マッチング タプルの 2 番目の要素を照合してタプルをグループ化する方法です。これは、Python プログラミングで各タプルの 2 番目の要素をチェックして辞書を使用することで実現されます。ただし、既存のタプルの一部を使用して新しいタプルを作成できます。
タプル構文
Tup = ('Jan','feb','march')
空のタプルを記述するには、何も含まない 2 つの括弧として記述する必要があります-
tup1 = ();
単一の値のタプルを記述するには、単一の値であってもコンマを含める必要があります。また、最後に以下のようにセミコロンを書く必要があります。
Tup1 = (50,);
タプル インデックスは 0 から始まり、連結、スライスなどを行うことができます。
このチュートリアルでは、次のことを学びます-
- 梱包と開梱
- タプルの比較
- タプルを辞書のキーとして使用する
- タプルの削除
- タプルのスライス
- Tuple を使用した組み込み関数
- リストよりもタプルの利点
タプル代入
Python には、一度に複数の変数を割り当てることができるタプル割り当て機能があります。ここでは、タプル 1 に名前、姓、生年などの人物情報を割り当て、別のタプル 2 に数値 (1,2,3,….,7) などの値を割り当てました。
たとえば、
(名前、姓、誕生年、好きな映画と年、職業、出身地) =ロバート
コードはこちら
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print(tup1[0]) print(tup2[1:4])
- タプル 1 には Robert の情報のリストが含まれます
- タプル 2 には数字のリストが含まれています
- タプルでは [0] の値を呼び出し、タプル 2 では 1 から 4 の間の値を呼び出します
- コードを実行します。最初のタプルには Robert という名前が付けられ、2 番目のタプルには番号 (2、3、および 4) が付けられます
梱包と開梱
パッキングでは値を新しいタプルに入れ、アンパッキングではそれらの値を抽出して変数に戻します。
x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print(company) print(emp) print(profile)
タプルの比較
Python の比較演算子はタプルを扱うことができます。
比較は、各タプルの最初の要素から始まります。 =、<、または> と比較されない場合は、2 番目の要素に進みます。
各タプルの最初の要素を比較することから始めます
例を使ってこれを学びましょう-
#ケース 1
a=(5,6) b=(1,4) if (a>b):print("a is bigger") else: print("b is bigger")
#ケース 2
a=(5,6) b=(5,4) if (a>b):print("a is bigger") else: print ("b is bigger")
#ケース 3
a=(5,6) b=(6,4) if (a>b):print("a is bigger") else: print("b is bigger")
ケース 1: 比較は各タプルの最初の要素から始まります。この場合は 5>1 なので、出力 a は大きくなります
ケース 2: 比較は各タプルの最初の要素から始まります。この場合、5>5 であり、決定的ではありません。したがって、次の要素に進みます。 6>4 なので、出力 a は大きくなります
ケース 3: 比較は各タプルの最初の要素から始まります。この場合、5>6 は false です。そのため、else ブロックに入り、「b の方が大きい」と出力します。
タプルを辞書のキーとして使用する
タプルはハッシュ可能ですが、リストはそうでないため、辞書で使用する複合キーを作成する必要がある場合は、タプルをキーとして使用する必要があります。
例 :名、姓、電話番号のペアなどをマップする電話帳を作成する必要がある場合、複合キーに遭遇します。変数を姓と名として宣言したと仮定すると、次のように記述できます。以下に示すような辞書割り当てステートメント:
directory[last,first] = number
括弧内の式はタプルです。 for ループでタプル代入を使用して、この辞書をナビゲートできます。
for last, first in directory:
print first, last, directory[last, first]
このループは、タプルであるディレクトリ内のキーをナビゲートします。各タプルの要素を last と first に割り当て、名前と対応する電話番号を出力します。
タプルと辞書
ディクショナリは、item を呼び出すことでタプルのリストを返すことができます。各タプルはキーと値のペアです。
a = {'x':100, 'y':200} b = list(a.items()) print(b)
タプルの削除
タプルは不変であり、削除できません。タプルから項目を削除または削除することはできません。ただし、キーワードを使用してタプルを完全に削除することは可能です
del
タプルのスライス
タプルまたはリストから特定のサブ要素のセットを取得するには、スライシングと呼ばれるこの独自の関数を使用します。スライスはタプルだけでなく、配列やリストにも適用できます。
x = ("a", "b","c", "d", "e") print(x[2:4])
このコードの出力は ('c', 'e') になります。
上記のすべての例の Python 2 コードは次のとおりです
tup1 = ('Robert', 'Carlos','1965','Terminator 1995', 'Actor','Florida'); tup2 = (1,2,3,4,5,6,7); print tup1[0] print tup2[1:4] #Packing and Unpacking x = ("Guru99", 20, "Education") # tuple packing (company, emp, profile) = x # tuple unpacking print company print emp print profile #Comparing tuples #case 1 a=(5,6) b=(1,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 2 a=(5,6) b=(5,4) if (a>b):print "a is bigger" else: print "b is bigger" #case 3 a=(5,6) b=(6,4) if (a>b):print "a is bigger" else: print "b is bigger" #Tuples and dictionary a = {'x':100, 'y':200} b = a.items() print b #Slicing of Tuple x = ("a", "b","c", "d", "e") print x[2:4]
Tuple を使用した組み込み関数
さまざまなタスクを実行するために、tuple では、all()、any()、enumerate()、max()、min()、sorted()、len()、tuple() などの多くの組み込み関数を使用できます。
リストよりもタプルの利点
- タプルは不変であるため、タプルの繰り返しはリストよりも高速です。
- 不変要素で構成されるタプルは辞書のキーとして使用できますが、リストでは使用できません
- イミュータブルなデータがある場合、それをタプルとして実装すると、書き込み保護が維持されます
まとめ
Python には、一度に複数の変数を割り当てることができるタプル割り当て機能があります。
- タプルのパックとアンパック
- パッキングでは値を新しいタプルに入れ、アンパックではそれらの値を変数に戻します。
- Python の比較演算子はタプルを扱うことができます。
- タプルを辞書のキーとして使用する
- タプルはハッシュ可能ですが、リストはハッシュ可能ではありません
- 辞書で使用する複合キーを作成する必要がある場合は、タプルをキーとして使用する必要があります
- Dictionary は、items を呼び出すことでタプルのリストを返すことができます。各タプルはキーと値のペアです
- タプルは不変であり、削除できません。タプルから項目を削除または削除することはできません。ただし、キーワード「del」を使用すると、タプルを完全に削除できます
- タプルまたはリストから特定のサブ要素のセットを取得するには、スライシングと呼ばれるこの独自の関数を使用します
Python