Pythonのタプルとリスト
Python
ドキュメントでは、いくつかの重要な細かい印刷を欠場することがあります.
私は、このページの中で、私が見るものが私が忘れるかもしれないものとして見るだけである一般的なものを含んでいません.
最初に リストは変更可能です ダイナミックです 注文する 要素として任意の型のオブジェクトを持ち、int要素と同じリスト内の一部のユーザ定義オブジェクト リスト内の最後の要素は、負のインデックススライスでその長さを知ることなく取得できます
何も新しい
タプル
タプルは本当に面白いです、そして、私はいくつかの重要な観察を持ちます
タプルには、リスト内のデータと同様のリストとの類似性があり、スライスされ、もちろんリスト内のデータのように順序付けられますリストとタプルの主な違い
タプルは不変で、リストよりずっと速いです.アクセス時間は大きなデータで重要で、ほとんどの些細な状況ではアクセス時間は問題ではない.
括弧の使用によって定義されたタプル
イン
Xを定義する.
単一の項目を定義する
タプルアンパック
複数のアイテムを持つタプルをオブジェクトがパックされているかのように定義し、タプル内で異なる項目を別のものに割り当てます
変数は、我々が現在面白いものに飛び込むとき、覚えておく重要な概念です.
私の粗野な図面を無視してください
タプルをアンパックするようにしましょう
ここでは、各変数にタプル内の各項目が割り当てられることがわかります.
興味のあることは
後でセクションでのもの.
この新しい発見された観察で、もう一つの例を見てみましょう
誰もが簡単にPythonを表示するために与える.
今、私はこのブログを終える前にもう一つのことを示す必要があります.それがすべてこれに来るinfact
挿入ドラム.
Pythonでは、我々が望むように多くのparamenterとして入ることができる機能があることを覚えておいてください
関数は、どのように多くの引数が渡されたかを知っていますか?
我々が詳細に入る前に、我々が見る必要がある若干の例
これはタプルのアンパックとして知られています.
いくつかの例を見てみましょう
したがって、我々は通常のタプルまたはリストのようにargsを繰り返すことができます.
この情報を使用すると、パラメータの数を変更することができます.
これらはタプルとリストについて勉強していた興味深い観察の一部です.もし私がいくらかの間違いを犯したなら、メールを送ってください
または私のレポにプル要求を置く.また、私の他のブログを調べてください.
リファレンス RealPython
PythonDocs
UCD Pythonプログラミングクラス
tuple
and list
私たちが鋭い目をしないなら、本当におもしろいですドキュメントでは、いくつかの重要な細かい印刷を欠場することがあります.
私は、このページの中で、私が見るものが私が忘れるかもしれないものとして見るだけである一般的なものを含んでいません.
最初に
list
x = [1,2,3,4]
last_element_x = x[-1]
Output:4
別の否定的なインデックススライスを持つx = [1,2,3,4,5]
last_element_x = x[-5:-1]
Output:[1, 2, 3, 4]
我々は、ステップでスライスすることができますx = [1,2,3,4,5]
slice_in_steps_x = x[len(x):0:-2]
Output:[6, 4, 2]
それで、我々はストリングを逆にするために同じことができますx = [1,2,3,4,5]
reversed_x = x[::-1]
Output:[5, 4, 3, 2, 1]
リスト内のその他のものを含めるmutability
, nested lists
とすべてのfunctions
私がアクセスするためにドキュメントを使うことができるリストオブジェクトと関連して何も新しい
タプル
タプルは本当に面白いです、そして、私はいくつかの重要な観察を持ちます
kwargs
関数で.タプルには、リスト内のデータと同様のリストとの類似性があり、スライスされ、もちろんリスト内のデータのように順序付けられますリストとタプルの主な違い
タプルは不変で、リストよりずっと速いです.アクセス時間は大きなデータで重要で、ほとんどの些細な状況ではアクセス時間は問題ではない.
括弧の使用によって定義されたタプル
x = (1,2,3,)
type(x)
Output:tuple
しかし、この例を見てくださいx = (1)
type(x)
Output:int
ここでは、型タプルを取得することを期待していますが、Pythonは単純なintとして解釈します()
他のものでイン
if
だから、Pythonは()
ここで使用するようなものですif(1)
そして、x = (1)
はほんのint
.代わりにXを定義する.
x = (1,)
type(x)
Output:tuple
ここでは、インタプリタがタプル型の変数を特定したコンマを追加しました.注意する1つのものは、このquirkが我々だけで起こるということです単一の項目を定義する
タプルアンパック
複数のアイテムを持つタプルをオブジェクトがパックされているかのように定義し、タプル内で異なる項目を別のものに割り当てます
変数は、我々が現在面白いものに飛び込むとき、覚えておく重要な概念です.
私の粗野な図面を無視してください
タプルをアンパックするようにしましょう
x = [1,2,3]
変数a , b , c :x = (1,2,3)
type(x)
Output:tuple
a,b,c = x
print(a)
Output:1
print(b)
Output:2
print(c)
Output:3
行動を解くここでは、各変数にタプル内の各項目が割り当てられることがわかります.
興味のあることは
x = (1,2,3)
a,b,c = x
is same as
(a,b,c) = x
このような状況ではPythonは()
括弧これは、我々が議論する重要な観察です後でセクションでのもの.
この新しい発見された観察で、もう一つの例を見てみましょう
x = 1,2,3,4
type(x)
Output:tuple
そこでここではAを必要としないタプルを割り当てましたparantheses
. そのことで、我々は有名な例を認識できるかもしれない誰もが簡単にPythonを表示するために与える.
swapping elements without a temporary variable
x1 , x2 = 1 , 2
x1 , x2 = x2 , x1
print(x1)
Output: 2
print(x2)
Output: 1
これは、括弧なしでタプルとタプルアンパックを使用したためです.知っているMIND == BLOWN!!
* args今、私はこのブログを終える前にもう一つのことを示す必要があります.それがすべてこれに来るinfact
挿入ドラム.
Pythonでは、我々が望むように多くのparamenterとして入ることができる機能があることを覚えておいてください
max(1,2,3,4,5,6,7)
結果を得る.関数は、どのように多くの引数が渡されたかを知っていますか?
我々が詳細に入る前に、我々が見る必要がある若干の例
x = 1,2,3,4,5
type(x)
Output:tuple
a,b,c = x
Output: ValueError: too many values to unpack
ここで、私はタプルXを変数A、B、Cに解凍しようとするとき、私は3つの変数しか持っていないので、私は5つの値を持っているValueError
そのような場合、我々は以下をすることができますx = 1,2,3,4,5
type(x)
Output:tuple
a,b,*c = x
print(a)
Output: 1
print(b)
Output: 2
print(c)
Output: [3,4,5]
ここで私はそれを使用するときに*
変数Cでタプル要素はリストとしてCに追加されます.かなりきれい!これはタプルのアンパックとして知られています.
いくつかの例を見てみましょう
x = 1,2,3,4,5
type(x)
Output:tuple
a,*b,c = x
print(a)
Output: 1
print(b)
Output: [2,3,4]
print(c)
Output: 5
これは、インタプリタがそれらを分割することによって値を割り当てるために最善を尽くします.x = 1,2,3,4,5
type(x)
Output:tuple
*a,*b,c = x
Output: SyntaxError: two starred expressions in assignment
ここで、インタプリタはデータを分割する方法を知りませんSyntaxError
ここで例コードを見てみましょうdef test_function(*args):
for x in args:
print(x," ")
test_function(1,2,3,4,5)
Output: 1 2 3 4 5
それで、ここで起こったこと.前の例と同様に、引数1 , 2 , 3 , 4 , 5は、unpackされたタプルである* argsに渡されますしたがって、我々は通常のタプルまたはリストのようにargsを繰り返すことができます.
この情報を使用すると、パラメータの数を変更することができます.
これらはタプルとリストについて勉強していた興味深い観察の一部です.もし私がいくらかの間違いを犯したなら、メールを送ってください
または私のレポにプル要求を置く.また、私の他のブログを調べてください.
リファレンス
Reference
この問題について(Pythonのタプルとリスト), 我々は、より多くの情報をここで見つけました https://dev.to/sachsom95/python-tuples-and-list-16npテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol