リスト
Pythonは組み込みデータ型のリストです:リスト。リストには、任意の時点で要素を追加および削除することができ順序集合、です。
たとえば、クラスの生徒全員の名前をリストは、リストで表すことができます。
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates ['Michael', 'Bob', 'Tracy']
変数がclassmates
リストです。len()
機能の利用可能なリスト要素の数:モーターはまっすぐ作品
>>> len(classmates)
3
インデックスはからのものであることを覚えて、各位置での要素のリストにアクセスするためのインデックス付き0
:初め
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
インデックスが範囲外の場合には、Pythonは報告しますIndexError
範囲外のインデックスは、インデックスが最後の要素を覚えていないことを確実にするために、そのため、間違いをlen(classmates) - 1
。
最後の要素は、位置インデックスを計算することに加えて、取る場合は、だけでなく、使用することができ-1
、インデックス、最後の要素に直接アクセスします:
>>> classmates[-1]
'Tracy'
だから、あなたは最後から二番目の2、最後から二番目の3を得ることができます。
>>> classmates[-2]
'Bob'
>>> classmates[-3]
'Michael'
>>> classmates[-4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
もちろん、最後から二番目の4上のラインを越えました。
リストには、リストの要素の末尾に追加することが可能で、ソートされたリストの変数であります:
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
要素は、インデックスとして、指定された場所に挿入することができる1
位置。
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
で、リストの末尾に要素を削除するpop()
方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
位置の要素を削除するpop(i)
方法、i
インデックス位置です。
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
要素他の要素を置き換える必要があり、それが直接対応したインデックス位置に割り当てることができます。
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']
次のような異なっていてもよく、リスト要素データのタイプ
>>> L = ['Apple', 123, True]
リスト要素は、次のような別のリストであってもよいです。
>>> s = ['python', 'java', ['asp', 'php'], 'scheme'] >>> len(s) 4
注意してs
唯一の四つの要素、s[2]
オープン書き込みが理解しやすい場合は、リストです。
>>> p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']
取得する'php'
書き込むことp[1]
又はs[2][1]
、従ってs
......二次元アレイ、ならびに類似の三次元、四次元アレイとして見ることができるが、めったに使用されません。
リスト内の要素がない場合、それは、空のリストで、その長さは0です。
>>> L = []
>>> len(L)
0
タプル
タプル:もう一つは、タプルの順序付きリストと呼ばれます。タプルとリストが非常に似ていますが、タプルは、初期化後は、例えば、また、学生の名前をリストに変更することはできません。
>>> classmates = ('Michael', 'Bob', 'Tracy')
さて、)このタプルを変更することはできません、またそれは(、)(このメソッドインサートを追加しないクラスメート。取得方法と、リストの他の要素は、あなたが通常使用することができ、同じであるclassmates[0]
、 classmates[-1]
しかし他の要素に割り当てることはできません。
不変のタプル意義とは何ですか?タプル不変なので、コードより安全なので。可能な場合は、可能な限りタプルリストの代わりにタプルを使用しています。
タプルトラップ:あなたはタプルを定義するときに定義されたときに、タプルの要素は、次のような、決定されなければなりません
>>> t = (1, 2)
>>> t
(1, 2)
あなたは空のタプルを定義したい場合は、のように記述することができます()
。
>>> t = ()
>>> t
()
しかし、あなたが定義している場合は、1つの要素のみタプルを定義するには:
>>> t = (1)
>>> t
1
タプルを定義していない、である1
。この数は!これは、ブラケットがあるためである()
両方のタプルを表すことができ、そしてあいまいさを作成する、括弧内の数式を表すことができ、従って、Pythonの規定は、この場合には、括弧により計算した。その結果当然1
。
タプルの要素の場合にのみ定義したがって、あなたはコンマを追加する必要があり,
明確にします:
>>> t = (1,)
>>> t
(1,)
Pythonのタプル一つだけの要素を表示する場合、カンマが追加されます,
あなたは算出された数学的な意味でのブラケットとして誤解場合には、。
最後に、「変数」のタプルを見て:
>>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
タプルは三つの要素、それぞれ存在する場合に定義され'a'
、'b'
そしてリスト。タプル変数たらまだ定義されていないと言っているわけではありませんか?後でどのように変わったのか?
私たちは、タプルの定義を見たときの3つの要素が含まれている、心配しないでください。
我々は要素のリスト入れたとき'A'
と'B'
する修正を'X'
し、'Y'
後に、タプルは次のようになります。
表面には、タプルの要素は、実際に変更されていますが、変更は実際には要素のタプルではなく、要素のリスト。リストの開始点は、別のリストに変更されていないタプル、したがって、タプルと呼ばれる「変化」タプルの各要素、ポイントが変化しないようにということです。そのポイントは、'a'
を指すように変更することはできません'b'
他のオブジェクトに、リストにポイントをポイントに変更することはできませんが、それ自体が可変であるリストを指摘しました!
コンテンツを作成するための「ポイントの変更」を、理解した後に行うにはどのように一定のタプルのですか?私たちは、タプル自体の各要素を変更することができないことを確認する必要があります。