データタイプよりも安全一覧
みなさん、こんにちは、今日私は組み込みデータ型より安全なのPythonを要約:タプル(タプル)、そしてそれは、使用に基づいています
タプル(組)は、順序データ、同様のリストとの比較の別のタイプです。主なポイントは、変更することはできませんした後、別のタプルが作成されたということです。そのため、追記()、POP()、インサートを有する異なるタプルリスト()メソッドを使用することができます。要素法およびリストを取得することは、同じであるインデックスを介して(また、0から始まる)にアクセスすることができるが、他の要素に割り当てることができません。
タプル不変なので、コードより安全なので。可能ならば、我々はリストの代わりにタプルを使用するようにしてください。
タプルを作成します
# 定义一个空的tuple
t = ()
print(t)
Out:()
复制代码
定義された要素の間のタプル、あいまいさを排除するために、コンマを追加する必要があるが、それ以外の場合は、定義されたタプルが、要素そのものではない場合にのみ、
t1 = (5)
t2 = (5, )
print(t1)
print(t2)
Out: 5
(5,)
复制代码
tup4 = (1, 2, 3, 4, 5 ); # 创建时直接赋值
tup5 = "a", "b", "c", "d"; # 创建时直接赋值
print(tup4)
print(tup5)
Out:(1, 2, 3, 4, 5)
('a', 'b', 'c', 'd')
复制代码
あなたが作成した後)、tup4とtup5 2つのタプルなどを変更することはできません、またそれは、(追加ん、この方法は、()に挿入します。取得及びリスト要素の他の方法は、我々が通常tup4 [0]、tup5 [-1]を使用することができ、同じであるが、別の要素に割り当てることができません
アクセスタプル
アクセスリストと本質的に同じタプルは、我々は簡単に少し栗を見て、ここで言っても過言ではないのセクション要素のタプルを見ることができます:
tup4 = (1, 2, 3, 4, 5 );
tup5 = "a", "b", "c", "d";
print(tup4[0])
print(tup5[1:3])
print(tup5[::-1])
print(sorted(tup5,reverse=True)) # 使用sorted结果变成了List
Out: 1
('b', 'c')
('d', 'c', 'b', 'a')
['d', 'c', 'b', 'a']
复制代码
おくる不変のタプル
すでに、タプルは不変で言ったように、のは、この小さな栗を見てみましょう:
test=('a','b',[1,2,3])
print(test)
test[2][0]=100
print(test)
Out: ('a', 'b', [1, 2, 3])
('a', 'b', [100, 2, 3])
复制代码
私は友人が間違いであることがあれば、私は知らないのですか?あなたはタプルの3番目の要素が一覧でテストし、ここで起こっているのか、タプルはよく変更することはできません言いませんでした、ここでは、結果のリストの値が変更されていない変更しますか?
ここでは不変のタプルが同じポイントを指し、あなたが説明を与えるために、そのテスト[2]は常に、リスト[1,2,3]をポイントしているので、ここではリストの変数、我々は[100を変更することができるように、 2,3]が、試験前と後の変更[2]の点は、何も私たちが直接テスト[2]の値を変更したい場合は、次のエラーを見つけるだろう、変わっていません
test[2]=[100,2,3]
Out: TypeError: 'tuple' object does not support item assignment
复制代码
私たちがコンテンツを作成する必要がある場合「と同じにポイント」を理解した後に行うにはどのように一定のタプルのですか?私たちは、タプル自体の各要素を変更することができないことを確認する必要があります。
接続のタプル
前述したように、タプルが変更されていませんが、接続することができ、我々は+タプル接続を使用することができます。
t1 = (2,3,5)
t2 = ('ricequant','python')
t3 = t1 + t2
print(t3)
Out:(2, 3, 5, 'ricequant', 'python')
复制代码
タプルを削除します。
タプルの要素を削除することはできませんが、我々は使用することができますデルの友人が言っても過言ではない、非常に単純な再定義することができます全体のタプルを削除するには、削除します
person = ('xiaobai',18,'paris')
print(person)
del person
print(person)
Out: ('xiaobai', 18, 'paris')
NameError: name 'person' is not defined
复制代码
開梱タプル
ここでは、次のように我々はタプルtを持っていると仮定し、より多くの興味深い場所です。
t = ('foo', 'bar', 'baz', 'qux')
复制代码
我々はトンを作成すると、実際にパッケージされ、プロセス図を以下に示します。
それを解凍している場合は?ライン上でそれ以上の変更t = ('foo', 'bar', 'baz', 'qux')
(s1, s2, s3, s4) = t
print(s1,s2,s3,s4)
Out:foo bar baz qux
复制代码
私たちが行ったとき(S1、S2、S3、S4)はトンを=次のように、実際の状況は次のとおりです。
我々は1元の渡され、祖先やタプルの要素の実際の数を解凍しようとした場合なお、ここでは、エラーが互換性のない変数を発生します。(s1, s2, s3) = t
ValueError: too many values to unpack (expected 3)
(s1, s2, s3, s4, s5) = t
ValueError: not enough values to unpack (expected 5, got 4)
复制代码
為替スワップタプル
実際には、Pythonはまた、我々はコンマいくつかの要素によって分離されている場合、それは自動的にタプルを生成することをカンマのタプルを作成するための非常に単純な方法があります:
a = 'foo'
b = 'bar'
x= a, b
print(x)
Out:('foo', 'bar')
复制代码
あなたは、単純なスワップを行う場合に限り、これをすることができて、簡単です。
x= b,a
print(x)
Out:('bar', 'foo')
复制代码
概要一般的な方法タプル
-
tup.indexリスト全体返さタプルのxの最初の要素のインデックス開始停止指標値)(Xは、[] [、停止、開始します])。要素がエラーを返すと一致しない場合。
-
tup.count(X)はタプルで発生するXの数を返します。
-
CMP(tuple1、tuple2)比較タプル二つの要素。
-
LEN(タプル)の要素の組の数を算出します。
-
MAX(タプル)が最大の要素のタプルを返します。
-
分(タプル)は、最小値のタプルの要素を返します。
-
タプル(配列)は、タプルのリストに変換します。
-
タプルの文字列は使用できません、と辞書メソッドのリスト。相対的な順序のタプル場合は、通常、リストを務め、得るために、それを変数オブジェクト、並べ替えを使用した方法作ってそれを変換し、またはビルトインメソッドを使用してソートされました。
概要
私たちはすべてを説明するように、あなたが友人をしたい場合は今日、私は、タプルについて知っているの深い議論、私のウェブサイトゲストブックカザフスタン経由:
ます。https://juejin.im/post/5cfcde4af265da1bd260defeで再現