Python List型の使い方
listaとは順番に様々なデータを格納するコンテナの一種.
listのほかにtuple, set, dictが存在する.
- tuple : 順番に並んでいる.要素の変更は出来ない.
- set : 順番を持たない集合,重複は不可.要素の変更は可能.
- dict : キーによって要素が管理される.要素の変更は可能.
初期化
空のlistの宣言
list_sample = [] print(list_sample) >>[]
任意の値で初期化
list_sample = [1,2,3,4,5] print(list_sample) >>[1, 2, 3, 4, 5]
任意の要素数で初期化
list_sample = [0]*5 print(list_sample) >>[0, 0, 0, 0, 0]
連番で初期化
rangeを利用すれば逆順や,階差などもっと複雑なlistも宣言できます
list_sample = [i for i in range(5)] print(list_sample) >>[0, 1, 2, 3, 4]
他のコンテナデータ型で初期化
既に存在するlistと同じ要素数のlistを用意する
※コンテナデータ型とはlistやdictなどのデータを格納する容器のこと
data_A = [2,5,3,7,9] list_sample_A = [0]*len(data_A) print(list_sample_A) >>[0, 0, 0, 0, 0]
参照
インデックスを用いてアクセスする
list_sample_A = [4,2,8,5,3,6,1,0,7,9] tmp_A = list_sample_A[4] print(tmp_A) >>3
インデックスを用いて末尾からアクセスする
インデックスを−1とした場合,末尾から1番目の要素にアクセスするlist_sample_A = [4,2,8,5,3,6,1,0,7,9] tmp = list_sample_A[-2] print(tmp) >>7
スライスを用いて先頭から任意の数の要素を取り出す
先頭から任意の数の要素を取り出すlist_sample_A = [4,2,8,5,3,6,1,0,7,9] tmp = list_sample_A[:5] print(tmp) >>[4, 2, 8, 5, 3]
スライスを用いて末尾から任意の数の要素を取り出す
末尾から任意の数の要素を取り出すlist_sample_A = [4,2,8,5,3,6,1,0,7,9] tmp = list_sample_A[5:] print(tmp) >>[6, 1, 0, 7, 9]
スライスを用いて任意の範囲の要素を取り出す
任意の範囲の要素を取り出すlist_sample_A = [4,2,8,5,3,6,1,0,7,9] tmp = list_sample_A[3:6] print(tmp) >>[5, 3, 6]
条件を満たす要素のみを持つlistを得る
list内の偶数のみを取り出す場合.list_sample_A = [4,2,8,5,3,6,1,0,7,9] tmp = [i for i in list_sample_A if i%2 == 0] print(tmp) >>[4, 2, 8, 6, 0]
全ての要素を四捨五入し,整数に変換する
各要素をround関数によって四捨五入しています.list_sample_A = [8.6, 1.5, 2.6, 9.8, 5.4, 8.5, 7.4, 7.4, 9.0, 6.4] tmp = [round(i) for i in list_sample_A] print(tmp) >>[9, 2, 3, 10, 5, 8, 7, 7, 9, 6]
リストに要素を追加する
末尾に要素を追加する
append関数によって末尾に要素を追加できます.list_sample_A = [4,2,8,5,3] list_sample_A.appned(20) print(list_sample_A) >>[4, 2, 8, 5, 3, 20]
他のlistを結合させる
extend関数によって末尾に他のlistを結合できますlist_sample_A = [4,2,8,5,3] list_sample_A.extend([20,40,70]) print(list_sample_A) >>[4, 2, 8, 5, 3, 20, 40, 70]+= 演算子によっても末尾に他のlistを結合できます
list_sample_A = [4,2,8,5,3] list_sample_A += [20,40,70] print(list_sample_A) >>[4, 2, 50, 8, 5, 3]
指定した位置に値を追加する
insert関数によって指定したインデックス位置に値を挿入します.list_sample_A = [4,2,8,5,3] list_sample_A.insert(2, 50) print(list_sample_A) >>[4, 2, 50, 8, 5, 3]
リストに要素を削除する
全ての要素を削除する
clear関数によってlistの全要素を削除します.list_sample_A = [4,2,8,5,3] list_sample_A.clear() print(list_sample_A) >>[]
任意の位置の要素を削除する
del関数によって指定したインデックス位置の要素を削除します.list_sample_A = [4,2,8,5,3] del list_sample_A[2] print(list_sample_A) >>[4, 2, 5, 3]
任意の範囲の要素を削除する
del関数とスライスによって指定した範囲の要素を削除します.list_sample_A = [4,2,8,5,3] del list_sample_A[1:3] print(list_sample_A) >>[4, 5, 3]
末尾の要素を取り除く
末尾の要素を獲得した後に取り除きます.スタックとしてlistを用いる際に便利.list_sample_A = [4,2,8,5,3] tmp = list_sample_A.pop() print(tmp) >>3 print(list_sample_A) >>[4, 2, 8, 5]
特定の要素を取り出す
remove関数を用いることで一致する最初の要素を削除するlist_sample_A = [4,2,8,5,3] list_sample_A.remove(5) print(list_sample_A) >>[4, 2, 8, 3]
リストの要素を調べる
昇順に並べ替える
sort関数を用いて並べ替える.sorted関数との違いに注意list_sample = [8,2,9,4,0,6,3,1,7,5] tmp = list_sample.sort() print(tmp) >>None print(list_sample) >>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
降順に並べ替える
sort関数でreverse=Trueとすると降順で並べ替えるlist_sample = [8,2,9,4,0,6,3,1,7,5] tmp = list_sample_A.sort(reverse=True) print(tmp) >>None print(list_sample_A) >>[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
sorted関数を用いて昇順に並べ替える
sort関数とは違い元list自体は並べ替えは行われないので注意list_sample_A = [8,2,9,4,0,6,3,1,7,5] tmp = sorted(list_sample_A) print(tmp) >>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(list_sample_A) >>[8, 2, 9, 4, 0, 6, 3, 1, 7, 5]
reversed関数を用いて昇順に並べ替える
reversed関数でも元list自体は並べ替えは行われない.また,返り値もイテレーターでsorted関数と仕様が違うので注意list_sample_A = [8,2,9,4,0,6,3,1,7,5] list_sample_A = [8, 2, 9, 4, 0, 6, 3, 1, 7, 5] tmp = reversed(list_sample_A) print(tmp) >><list_reverseiterator object at 0x000002831B76F688> tmp_rev = list(tmp) print(tmp_rev) >>[5, 7, 1, 3, 6, 0, 4, 9, 2, 8] print(list_sample_A) >>[8, 2, 9, 4, 0, 6, 3, 1, 7, 5]
最大値を取り出す
max関数を用いてlist内の最大値を得る.list_sample_A = [95, 12, 64, 14, 61, 29, 39, 67, 58, 96] max_value = max(list_sample_A) print(max_value) >>96
最小値を得る
min関数を用いてlist内の最小値を得るlist_sample_A = [95, 12, 64, 14, 61, 29, 39, 67, 58, 96] min_value = min(list_sample_A) print(min_value) >>12
特定の値と一致する要素が存在するか調べる
"x in list"でlist内にxが存在するか調べる.list_sample_A = [95, 12, 64, 14, 61, 29, 39, 67, 58, 96] bool_61 = 61 in list_sample_A print(bool_61) >>True bool_200 = 200 in list_sample_A print(bool_200) >>False
特定の値と一致する要素のインデックスを得る
"index(x)"でlist内で最初のxのインデックスを返す.list_sample_A = [95, 12, 64, 14, 61, 29, 39, 67, 58, 96] tmp = list_sample_A.index(64) print(tmp) >>2
forでlist内の要素を取り出す
forを使えば 先頭以外取り出す・2個ずつ取り出すなど,色々できる.詳しくはこちら
list_sample_A = [95, 12, 64, 14, 61, 29, 39, 67, 58, 96] tmp = list_sample_A.index(64) print(tmp) >>2
0 件のコメント:
コメントを投稿