タプルを作成する
Python のタプルはリストに似ていますが、タプルの要素は変更できない点が異なります。
タプルには括弧 ( ) を、リストには角括弧 [ ] を使用します。
タプルの作成は非常に簡単で、かっこ内の要素を追加し、カンマで区切るだけです。
>>> tup1 = ('Google', 'Tarzan', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # 不需要括号也可以
>>> type(tup3)
<class 'tuple'>
空のタプルを作成する
#示例
tup1 = ()
タプルに要素が 1 つだけ含まれている場合は、要素の後にコンマを追加する必要があります。追加しない場合は、括弧が演算子として使用されます。
>>> tup1 = (50)
>>> type(tup1) # 不加逗号,类型为整型
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # 加上逗号,类型为元组
<class 'tuple'>
タプルは文字列に似ており、添字インデックスは 0 から始まり、インターセプトしたり結合したりすることができます。
アクセスタプル
次の例のように、タプルは添字インデックスを使用してタプル内の値にアクセスできます。
tup1 = ('Google', 'Tarzan', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
上記の例の出力は次のとおりです。
tup1[0]: Google
tup2[1:5]: (2, 3, 4, 5)
タプルを変更する
タプル内の要素値は変更できませんが、次の例に示すように、タプルを接続して結合することができます。
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
# 创建一个新的元组
tup3 = tup1 + tup2
print (tup3)
上記の例の出力は次のとおりです。
(12、34.56、'abc'、'xyz')
タプルの削除
タプル内の要素値を削除することはできませんが、次の例に示すように、del ステートメントを使用してタプル全体を削除できます。
cmd
print (tup)
del tup
print ("删除后的元组 tup : "+tup)
上記のインスタンス タプルが削除されると、出力変数には異常な情報が含まれ、出力は次のようになります。
删除后的元组 tup :
>>> print ("删除后的元组 tup : "+tup)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'tup' is not defined
タプル演算子
文字列と同様に、+、+=、および * 記号をタプル間で操作に使用できます。これは、それらを組み合わせてコピーできることを意味し、操作後に新しいタプルが作成されます。
Python 式 | 結果 | 説明する |
---|---|---|
len((1, 2, 3)) | 3 | 要素の数を数える |
a = (1, 2, 3) b = (4, 5, 6) c = a+b c |
(1、2、3、4、5、6) | 連結すると、c は a と b のすべての要素を含む新しいタプルになります。 |
a = (1, 2, 3) b = (4, 5, 6) a += b a |
(1、2、3、4、5、6) | 連結すると、a は、a と b のすべての要素を含む新しいタプルになります。 |
(「こんにちは!」) *4 | (「やあ!」、「やあ!」、「やあ!」、「やあ!」) | コピー |
3 インチ (1、2、3) | 真実 | 要素が存在します |
(1, 2, 3) の x の場合: print (x, end=" ") |
1 2 3 | 反復 |
タプルインデックス、切片
タプルもシーケンスであるため、次のように、タプル内の指定された位置にある要素にアクセスしたり、インデックス内の要素のセクションをインターセプトしたりでき
ます。
tup = ('Google', 'Runoob', 'Taobao', 'Wiki', 'Weibo','Weixin')
Python 式 | 結果 | 説明する |
---|---|---|
タップ[1] | 「ルノブ」 | 2番目の要素を読む |
タップ[-2] | 「ウェイボー」 | 逆に読み取り、最後から 2 番目の要素を読み取ります |
タップ[1:] | (「ルノブ」、「タオバオ」、「Wiki」、「Weibo」、「Weixin」) | 要素をインターセプトします。2 番目の開始以降のすべての要素。 |
タップ[1:4] | (「ルノブ」、「タオバオ」、「ウィキ」) | 2 番目から 4 番目の要素 (インデックス 3) までの要素をインターセプトします。 |
実行中のインスタンスは次のとおりです。
>>> tup = ('Google', 'Tarzan', 'Taobao', 'Wiki', 'Weibo','Weixin')
>>> tup[1]
'Tarzan'
>>> tup[-2]
'Weibo'
>>> tup[1:]
('Tarzan', 'Taobao', 'Wiki', 'Weibo', 'Weixin')
>>> tup[1:4]
('Tarzan', 'Taobao', 'Wiki')
>>>
タプル組み込み関数
Python タプルには次の組み込み関数が含まれています
方法 | 説明する | 例 |
---|---|---|
len(タプル) | タプル要素の数をカウントします。 | >>> tuple1 = ('Google', 'Runoob', 'Taobao') >>> len(tuple1) 3 >>> |
最大(タプル) | タプル内の要素の最大値を返します。 | >>> タプル2 = ('5', '4', '8') >>> max(タプル2) '8' >>> |
分(タプル) | タプル内の要素の最小値を返します。 | >>> タプル2 = ('5', '4', '8') >>> min(タプル2) '4' >>> |
タプル(反復可能) | 反復可能な系列をタプルに変換します。 | >>> list1= ['Google', 'Taobao', 'Tarzan', 'Baidu'] >>> tuple1=tuple(list1) >>> tuple1 ('Google', 'Taobao', 'Tarzan', 'Baidu'】 ') |
タプルが不変であることについて
いわゆる不変タプルとは、タプルが指すメモリ内の内容が不変であることを意味します。
>>> tup = ('t', 'a', 'r', 'z', 'a', 'n')
>>> tup[0] = 'g' # 不支持修改元素
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> id(tup) # 查看内存地址
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800 # 内存地址不一样了