Pythonシーケンスのlistとtupleの一般的な方法と注意事項

4515 ワード

シーケンス
sequence(シーケンス)は、順序付きオブジェクトのセットです.シーケンスには、1つ以上の要素が含まれていてもよいし、要素がなくてもよい.
私たちが前に述べた基本データ型は、シーケンスのオブジェクトとして使用できます.オブジェクトは、別のシーケンスであってもよい.シーケンスにはlist(テーブル)とtuple(メタグループ)の2種類があります.Listとtupleの主な違いは,いったん確立されるとtupleの各要素は変更できず,listの各要素は再変更できることである.
List
リスト要素の数を取得します.
 
  
>>> lst=[' ','python',5.44,False]
>>> len(lst)
4

参照アクセス時のインデックスは0から始まります.境界を越えないように注意してください.
 
  
>>> lst[0]
' '
>>> lst[1]
'python'
>>> lst[2]
5.44
>>> lst[3]
False
>>> lst[4]
Traceback (most recent call last):
  File "", line 1, in
    lst[4]
IndexError: list index out of range

-1をインデックスとして使用し、最後の要素を直接取得します.
 
  
>>> lst[-1]
False
>>> lst[-2]
5.44
>>> lst[-3]
'python'
>>> lst[-4]
' '
>>> lst[-5]
Traceback (most recent call last):
  File "", line 1, in
    lst[-5]
IndexError: list index out of range

リストは可変の秩序テーブルであるため、リストの末尾に要素を追加できます.
 
  
>>> lst.append(' ')
>>> lst
[' ', 'python', 5.44, False, ' ']

一度に複数の要素を追加:
 
  
>>> lst.extend(['A','B','C'])
>>> lst
[' ', 'python', 5.44, False, ' ', 'A', 'B', 'C']

リストの末尾の要素を削除するには、pop()メソッドを使用します.
 
  
>>> lst.pop()
'C'
>>> lst
[' ', 'python', 5.44, False, ' ', 'A', 'B']

指定した場所の要素を削除し、pop(i)メソッドを使用します.iはインデックスの場所です.
 
  
>>> lst.pop(0)
' '
>>> lst
['python', 5.44, False, ' ', 'A']

List要素を置換し、対応するインデックス位置に直接値を割り当てることができます.
 
  
>>> lst[-1]='100'
>>> lst
['python', 5.44, False, ' ', '100']

リスト要素は別のリストであってもよく、挿入されたリストは1つの要素のみを計算します.
 
  
>>> lst.append(lst1)
>>> lst
['python', 5.44, False, ' ', '100', ['666', 'QWER']]
>>> len(lst)
6

Tuple
Tupleが初期化されると修正できません.文字列は特殊な要素であるため、メタグループに関する操作を実行できます.
 
  
>>> str=' , !'
>>> print (str[:7])


可変のtupleの意味は、可変ではないため、コードがより安全であることです.できればtupleが使えるようにできるだけtupleを使います.
 
  
>>> tuple=('1','2','3')
>>> tuple[0]=6
Traceback (most recent call last):
  File "", line 1, in
    tuple[0]=6
TypeError: 'tuple' object does not support item assignment

空のtupleを定義します.
 
  
>>> tuple1=()
>>> tuple1
()

ただし、1つの要素しかないtupleを定義するには、次の手順に従います.
 
  
>>> tuple2=(666,)
>>> tuple2
(666,)              #
>>> tuple3=(666)
>>> tuple3
666                 # , 666

注意:Tupleのいわゆる「不変」は、tupleの各要素が、永遠に不変であることを指している.
 
  
>>> l=['CCTV-5','HI']
>>> tuple4=('UFO','HACK',l)
>>> tuple4
('UFO', 'HACK', ['CCTV-5', 'HI'])
>>> l[1]=' '
>>> tuple4
('UFO', 'HACK', ['CCTV-5', ' '])

だから、できるだけこのような組み合わせは避けましょう.
当日のまとめ
ListとTupleの常用方法及び注意事項を把握する.