Python3-python-tuples
Python 3-タプル
タプルは、不変のPythonオブジェクトのシーケンスです。 タプルはリストと同様にシーケンスです。 タプルとリストの主な違いは、リストとは異なり、タプルを変更できないことです。 タプルは括弧を使用しますが、リストは角括弧を使用します。
タプルの作成は、カンマで区切られた異なる値を入れるのと同じくらい簡単です。 オプションで、これらのコンマ区切り値を括弧で囲むこともできます。 たとえば-
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
空のタプルは、何も含まない2つの括弧として書かれています-
tup1 = ();
単一の値を含むタプルを書くには、値が1つしかない場合でもコンマを含める必要があります-
tup1 = (50,)
文字列インデックスと同様に、タプルインデックスは0から始まり、スライス、連結などが可能です。
タプルの値へのアクセス
タプルの値にアクセスするには、1つまたは複数のインデックスとともにスライスに角かっこを使用して、そのインデックスで使用可能な値を取得します。 たとえば-
#!/usr/bin/python3
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
上記のコードが実行されると、次の結果が生成されます-
tup1[0]: physics
tup2[1:5]: (2, 3, 4, 5)
タプルの更新
タプルは不変です。つまり、タプル要素の値を更新または変更することはできません。 次の例に示すように、既存のタプルの一部を使用して新しいタプルを作成できます-
#!/usr/bin/python3
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# Following action is not valid for tuples
# tup1[0] = 100;
# So let's create a new tuple as follows
tup3 = tup1 + tup2
print (tup3)
上記のコードが実行されると、次の結果が生成されます-
(12, 34.56, 'abc', 'xyz')
タプル要素を削除する
個々のタプル要素を削除することはできません。 もちろん、不要な要素を破棄して別のタプルを作成しても何も問題はありません。
タプル全体を明示的に削除するには、 del ステートメントを使用します。 たとえば-
#!/usr/bin/python3
tup = ('physics', 'chemistry', 1997, 2000);
print (tup)
del tup;
print ("After deleting tup : ")
print (tup)
これにより、次の結果が生成されます。
注意-例外が発生します。 これは、 del tup の後、タプルがもう存在しないためです。
('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
File "test.py", line 9, in <module>
print tup;
NameError: name 'tup' is not defined
基本的なタプル操作
タプルは&plus;に応答しますおよび*文字列によく似た演算子。ここでも連結と繰り返しを意味しますが、結果は文字列ではなく新しいタプルです。
実際、タプルは、前の章で文字列に使用した一般的なシーケンス操作のすべてに応答します。
Python Expression | Results | Description |
---|---|---|
len1, 2, 31, 2, 3 | 3 | Length |
(1, 2, 3) PLUS (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concatenation |
('Hi!',) * 4 | ('Hi!', 'Hi!', 'Hi!', 'Hi!') | Repetition |
3 in (1, 2, 3) | True | Membership |
for x in (1,2,3) : print (x, end = ' ') | 1 2 3 | Iteration |
インデックス付け、スライス、および行列
タプルはシーケンスであるため、インデックス付けとスライスは、次の入力を想定して、文字列の場合と同じようにタプルでも同じように機能します-
T=('C++', 'Java', 'Python')
Python Expression | Results | Description |
---|---|---|
T[2] | 'Python' | Offsets start at zero |
T[-2] | 'Java' | Negative: count from the right |
T[1:] | ('Java', 'Python') | Slicing fetches sections |
囲みデリミタなし
これらの短い例で示されているように、囲みデリミタは、カンマ区切りで識別記号なしで記述された複数のオブジェクトのセット、つまりリストの括弧、タプルの括弧などであり、デフォルトはタプルです。
組み込みタプル関数
Pythonには次のタプル関数が含まれています-
Sr.No. | Function & Description |
---|---|
1 |
両方のタプルの要素を比較します。 |
2 |
タプルの全長を示します。 |
3 |
最大値でタプルから項目を返します。 |
4 |
最小値を持つタプルから項目を返します。 |
5 |
リストをタプルに変換します。 |