Python TUPLE – パック、アンパック、比較、スライス、削除、キー

Python のタプル マッチングとは何ですか?

Python でのタプル マッチング タプル内の XNUMX 番目の要素を照合することでタプルをグループ化する方法です。 これは、Python プログラミングで各タプルの XNUMX 番目の要素をチェックすることで辞書を使用することで実現されます。 ただし、既存のタプルの一部を取得して新しいタプルを作成することはできます。

タプル構文

Tup = ('Jan','feb','march')

空のタプルを記述するには、何も含まない XNUMX つの括弧として記述する必要があります。

tup1 = ();

単一値のタプルを記述する場合は、値が XNUMX つであっても、カンマを含める必要があります。 また、以下のように最後にセミコロンを記述する必要があります。

Tup1 = (50,);

タプルのインデックスは 0 から始まり、連結したり、スライスしたりすることができます。

タプルの割り当て

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 には次のリストが含まれます numbers その中に
  • タプルの [0] の値を呼び、タプル 2 の場合は 1 から 4 までの値を呼びます。
  • コードを実行します。最初のタプルには Robert という名前が与えられ、2,3 番目のタプルには番号 (4、XNUMX、XNUMX) が​​与えられます。

梱包と開梱

パッキングでは値を新しいタプルに配置し、アンパッキングではそれらの値を抽出して変数に戻します。

x = ("Guru99", 20, "Education")    # tuple packing
(company, emp, profile) = x    # tuple unpacking
print(company)
print(emp)
print(profile)

タプルの比較

比較 operaPython の tor はタプルを扱うことができます。

比較は各タプルの最初の要素から始まります。 =、<、または > と比較できない場合は、XNUMX 番目の要素などに進みます。

各タプルの最初の要素を比較することから始まります。

これを例で見てみましょう -

#ケース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 の方が大きい」と出力されます。

タプルを辞書のキーとして使用する

タプルはハッシュ可能ですが、リストはハッシュ可能ではないため、辞書で使用する複合キーを作成する必要がある場合は、キーとしてタプルを使用する必要があります。

: 姓、名、電話番号のペアをマッピングする電話帳を作成する必要がある場合は、複合キーが必要になります。 numbers変数を最後の番号と最初の番号として宣言したと仮定すると、以下に示すように辞書代入ステートメントを書くことができます。

directory[last,first] = number

内部 brackets、式はタプルです。 for ループでタプル割り当てを使用して、このディクショナリをナビゲートできます。

for last, first in directory:
print first, last, directory[last, first]

このループは、ディレクトリ内のキー (タプル) をナビゲートします。 各タプルの要素を last と first に割り当て、名前と対応する電話番号を出力します。

タプルと辞書

ディクショナリは、項目を呼び出すことによってタプルのリストを返すことができます。各タプルはキーと値のペアです。

a = {'x':100, 'y':200}
b = list(a.items())
print(b)

タプルの削除

タプルは不変であり、削除できません。 タプルから項目を削除したり削除したりすることはできません。 ただし、キーワードを使用するとタプル全体を削除できます。

del

タプルのスライス

タプルまたはリストからサブ要素の特定のセットをフェッチするには、スライスと呼ばれるこの独自の関数を使用します。 スライスはタプルだけでなく配列やリストにも適用できます。

x = ("a", "b","c", "d", "e")
print(x[2:4])

このコードの出力は ('c', 'd') になります。

上記のすべての例の 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]

タプルを使用した組み込み関数

タプルでは、​​さまざまなタスクを実行するために、all()、any()、enumerate()、max()、min()、sorted()、len()、tuple() などの多くの組み込み関数を使用できます。

リストに対するタプルの利点

  • タプルは不変であるため、タプルの反復処理はリストの場合よりも高速です。
  • 不変要素で構成されるタプルは、リストでは不可能な辞書のキーとして使用できます。
  • 不変のデータがある場合、それをタプルとして実装すると、書き込み保護された状態が保証されます。

まとめ

Python には、一度に複数の変数を割り当てることができるタプル割り当て機能があります。

  • タプルのパッキングとアンパッキング
  • パッキングでは値を新しいタプルに配置し、アンパッキングではそれらの値を抽出して変数に戻します。
  • A 比較 operaPythonのtor タプルを扱うことができます。
  • タプルを辞書のキーとして使用する
  • タプルはハッシュ可能ですが、リストはハッシュ可能ではありません
  • 辞書で使用する複合キーを作成する必要がある場合は、キーとしてタプルを使用する必要があります。
  • ディクショナリは項目を呼び出すことでタプルのリストを返すことができます。各タプルはキーと値のペアです。
  • タプルは不変であり、削除できません。 タプルから項目を削除したり削除したりすることはできません。 ただし、キーワード「del」を使用するとタプル全体を削除できます。
  • タプルまたはリストからサブ要素の特定のセットをフェッチするには、スライスと呼ばれるこの独自の関数を使用します。