Python – 1.List –
データ初期化
lista = [[1, 'a', 'あ'], [2, 'b', 'い']]
型の確認
type(lista) #==> <class 'list'>
サイズの確認
len(lista) #==> 2
※ 表示される結果は一番外側の要素。2×3とは出力されない。
3を知りたい場合はlen(lista[0])
※ shape(lista) ## listにshapeはない(numpyにある)。
==> NameError: name 'shape’ is not defined
データ追加
行追加1(insert) ※3行目に行([3, 'c’, 'う’])を追加
lista.insert(2, [3, 'c','う']) #==> [[1, 'a', 'あ'], [2, 'b', 'い'], [3, 'c', 'う']] ※ INDEXは0開始なので、3行目は"2"を指定
行追加2(append) ※最終行に([4, 'd’, 'え’])を追加
lista.append([4, 'd','え']) #==> [[1, 'a', 'あ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え']]
行追加3(Slice) ※5行目に([5, 'e’, 'お’])を追加
lista[4:1] = [[5, 'e', 'お']] # 2つ目の引数はなんでもいい? #==> [[1, 'a', 'あ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え'], [5, 'e', 'お']]
列追加(extend/append/insert)
1行目の末尾に列追加('ZZZ’)
lista[0].extend(['ZZZ']) #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え'], [5, 'e', 'お']]
4行目の末尾に列追加('XXXX’)
lista[3].append('XXXX') #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'e', 'お']]
5行目の2列目に値追加('yy’)
lista[4].insert(1, 'yy') #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'yy', 'e', 'お']]
データ削除(del)
削除(del) 要素番号を指定して削除
特定の要素を削除1 ※前章最後で追加した5行目2つめの要素値 “yy" を削除
del lista[4][1] #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う', 'XXXX'], [4, 'd', 'え', 'XXXX'], [5, 'XXXX', 'e', 'お']] ※ INDEXは0開始なので、5行目は"4"、2つ目は"1"を指定
特定の要素を削除2 ※5行目の2つ目~3つ目の値 “XXXX","e" を削除
del lista[4][1:3] #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う', 'XXXX'], [4, 'd', 'え', 'XXXX'], [5, 'お']]
指定行を削除 ※3行目を削除
del lista[2] #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [4, 'd', 'え', 'XXXX'], [5, 'お']]
指定行を削除 ※2行目~3行目を削除
del lista[1:3] #==> [[1, 'a', 'あ', 'ZZZ'], [5, 'お']]
全ての要素を削除
del lista #==> NameError: name 'lista' is not defined ※リストごと削除される
データ削除(pop)
初期データ代入
lista = [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'yy', 'e', 'お']]
特定の要素を削除 ※2行目の2つ目(b)の要素を削除
lista[1].pop(1) #==> 'b' #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'yy', 'e', 'お']]
特定の行を削除 ※2行目を削除
lista.pop(1) #==> [2, 'い'] #==> [[1, 'a', 'あ', 'ZZZ'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'yy', 'e', 'お']]
最後の行を削除 ※引数を指定しないと最後の要素を削除
lista.pop() #==> [5, 'yy', 'e', 'お'] #==> [[1, 'a', 'あ', 'ZZZ'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX']]
最後の行を削除 ※マイナスの場合は後ろから。-1は末尾の要素を削除
lista.pop(-1) #==> [4, 'd', 'え', 'XXXX'] #==> [[1, 'a', 'あ', 'ZZZ'], [3, 'c', 'う']] ※引数は1つのみ。複数指定不可。
データ削除(remove/clear)
初期データ代入
lista = [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'yy', 'e', 'お']]
特定の要素のみを削除 ※remove()で、5行目の「お」を削除
lista[4].remove('お') #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX'], [5, 'yy', 'e']] ※あくまでも消したい要素の値そのものを指定する
※行数を指定してもエラー。
lista.remove(5) #==> ValueError: list.remove(x): x not in list
特定の行を削除 ※行の要素を指定する
lista.remove([5, 'yy', 'e']) #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う'], [4, 'd', 'え', 'XXXX']] ※あくまでも消したい要素の値そのものを指定する lista.remove([4, 'd', 'え', 'XXXX']) #==> [[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い'], [3, 'c', 'う']]
※複数のキーを指定することはできない。
lista.remove([[1, 'a', 'あ', 'ZZZ'], [2, 'b', 'い']]) #==> ValueError: list.remove(x): x not in list
※補足:指定した要素が複数存在する場合、インデックスの若い方が削除される
clear() ※全要素削除。空のリストが残る
>>> lista.clear() #==> []
removeも最後の値が削除されたら、空のリストが残る。
>>> listx=[1] #==> [1] >>> listx.remove(1) #==> []
最近のコメント