list【リスト型】3.3 / 3.5リスト表現 リスト内包表記 コンストラクタ メソッド等一覧 共通 シーケンス演算 ミュータブル シーケンス演算 繰り返し処理 ソート アンパック スタック・キュー メモリスト型 ミュータブル(変更可) なシーケンス(イミュータブルなシーケンス:tuple【タプル型】) リスト表現・リスト内包表記 で生成可能 要素数:組み込み関数の len()【長さ・要素数】 〔 例 〕 重複可・入れ子可 〔 例 〕 各要素の型は違っても可 〔 例 〕 リスト表現の末尾カンマは無視 変更可の為、辞書のキーとして使用不可 繰り返し処理 (for-in【for ループ】 で処理) 〔 例 〕使用関数・メソッド備考なし要素を取得して処理enumerate【番号付け】インデックスと要素を取得して処理zip【組分け】 複数のシーケンス型の要素を取得し処理 (一度に最小要素数分処理)(リスト内包表記内で使用し、要素を元にリスト生成可)range【レンジ型】要素をインデックスで取得し処理 (複数のシーケンス型を一度に最大要素数分処理 等)reversed【逆順】逆順に要素を取得して処理sorted【ソート】ソート順に要素を取得して処理sort【ソート】メソッド直接ソートし要素を取得して処理ソート sort【ソート】メソッド (元のリスト変更) 組み込み関数の sorted【ソート】 (元のリスト変更なし) アンパック 〔 例 〕 対象備考複数変数に代入 3.0 同数の変数指定の tuple【タプル型】(丸カッコ省略可)にアンパックして代入要素数が違う場合は ValueError 例外アスタリスク(*)指定の変数には過分要素が list【リスト型】で代入不要な値はアンダースコア( _ ) のみの変数に代入すれば明確リスト表現リスト内包表記タプル表現等 アスタリスク(*)指定位置で個別要素に展開 3.5関数の位置引数 引数のアスタリスク(*)指定位置で個別要素に展開 (複数指定可 3.5 )スタック・キュー 〔 例 〕 処理備考スタック (FILO) append【要素追加】で IN・pop【要素取得 (末尾要素)】でOUTキュー (FIFO)(collections.deque が効率的) append【要素追加】で IN・pop【要素取得 (先頭要素 削除)】でOUTまたはinsert【要素挿入 (先頭要素)】で IN・pop【要素取得 (末尾要素 削除)】でOUTメソッド等一覧 メソッド等関連コンストラクタリスト表現リスト内包表記append【要素追加】 pop【要素取得 (削除)】insert【要素挿入】clear【全要素削除】remove【要素削除】copy【浅いコピー】count【要素出現回数】extend【拡張】index【要素インデックス】insert【要素挿入】 pop【要素取得 (削除)】append【要素追加】pop【要素取得 (削除)】 append【要素追加】insert【要素挿入】remove【要素削除】clear【全要素削除】reverse【要素逆転】sort【ソート】共通 シーケンス演算 (共通のシーケンス演算) 〔 例 〕 該当リストの変更なし 〔 例 〕【指定値】i・j<0i・j が省略 または Nonei・j が範囲外 【特記なしの動作】末尾からのインデックス ( len(list) + i・j :末尾が -1 )先頭 または 末尾 (k の正負により範囲が広がる位置)先頭 または 末尾 (近いほう)演算備考x in list リスト list のある要素が x と等しければ True 、等しくなければ Falsex not in list リスト list のある要素が x と等しければ False 、等しくなければ Truelist1 + list2リスト list1 と リスト list2 の結合list * nn * list リスト list を n(整数) 回結合 (n<0:空のリスト)注:参照のコピーlist[i ] リスト list の i 番目の要素範囲外:IndexError 例外list[[i] :[j]] リスト list の i~j(含まない) 番目までの要素list[[i] :[j] :[k]] リスト list の i~j(含まない) 番目までの k(省略:1) 番目 毎の要素0<k:先頭から末尾方向k<0:末尾から先頭方向・i は末尾側を指定 (範囲補正なし)k=0:不可 (ValueError 例外)len(list)リスト list の要素数max(list)リスト list の最大要素min(list)リスト list の最小要素list.index(x [, i [, j ]]) リスト list 中で 要素 x が i~j(含まない) の間で 最初に出現する位置インデックス未検出:ValueError 例外list.count(x) リスト list 中に 要素 x が出現する回数ミュータブル シーケンス演算 〔 例 〕( ミュータブルなシーケンス型) 該当リストを直接更新 (copy 以外)【指定値】i・j<0i・j が省略 または Nonei・j が範囲外 【特記なしの動作】末尾からのインデックス ( len(list) + i・j :末尾が -1 )先頭 または 末尾 (k の正負により範囲が広がる位置)先頭 または 末尾 (近いほう)演算備考list[i] = x リスト list の位置 i の要素を x に設定範囲外:IndexError 例外list[[i] :[j]] = iterable リスト list の位置 i~j(含まない) までを イテラブル iterable に設定要素数が不一致でも可del list[[i] :[j]] リスト list の位置 i~j(含まない) までを削除list[[i] :[j] :[k] ] = iterable リスト list の位置 i~j(含まない) までの k(省略:1) 毎を イテラブル iterable に設定要素数が不一致:ValueError 例外0<k:先頭から末尾方向k<0:末尾から先頭方向・i は末尾側を指定 (範囲補正なし)k=0:不可 (ValueError 例外)del list[[i] :[j] :[k]] リスト list の位置 i~j(含まない) までの k(省略:1) 毎 を削除0<k:先頭から末尾方向k<0:末尾から先頭方向・i は末尾側を指定 (範囲補正なし)k=0:不可 (ValueError 例外)list.append(x) リスト list の末尾に要素 x を追加list.clear() 3.3リスト list の全要素削除list.copy() 3.3リスト list の浅いコピーを返却list.extend(iterable)list += iterable イテラブル iterable の全要素をリスト list に追加し拡張list *= n リスト list の内容を n(整数) 回繰り返したもので更新 (n<0:空のリスト)注:参照のコピーlist.insert(i, x) 位置 i の直前に要素 x を挿入list.pop([i]) リスト list の位置 i の要素を削除し返却 (i 省略:末尾要素の削除)範囲外:IndexError 例外リスト list が空:IndexError 例外list.remove(x) リスト list の最初の要素 x を削除該当要素なし:ValueError 例外list.reverse()リスト list の要素を逆順に変更外部リンク Python 言語リファレンス式のリストリスト、集合、辞書の表示リスト表示 Python 標準ライブラリシーケンス型 --- list, tuple, rangeリスト型 (list) Python チュートリアルリスト型についてもう少しタプルとシーケンス引数リストのアンパック Python よくある質問 プログラミング FAQ多次元のリストを作るにはどうしますか? デザインと歴史 FAQなぜタプルとリストという別のデータ型が用意されているのですか?なぜ Python ではリストやタプルの最後にカンマがあっても良いのですか? 例 (メモ) # 要素数 lst = [1, 2, 3, 4, 5] print(len(lst)) # 出力:5 # 重複 lst = [1, 1, 1, 1, 1] print(len(lst)) # 出力:5 # 入れ子 lst = [1, 2, [31, 32, 33], 4, 5] print(len(lst)) # 出力:5 print(len(lst[2])) # 出力:3 # 要素の型 lst = [1, 2.0, "3", True, [1, 2, 3], (1, 2, 3)] print(len(lst)) # 出力:6 print(len(lst[4])) # 出力:3 print(len(lst[5])) # 出力:3 例 (繰り返し処理) lst = ['a', 'b', 'c'] for item in lst: print(item) # 出力:a # 出力:b # 出力:c lst = ['a', 'b', 'c'] for index, item in enumerate(lst): print(index, item) # 出力:0 a # 出力:1 b # 出力:2 c # zip lst1 = ['a', 'b', 'c'] lst2 = ['A', 'B', 'C', 'D'] for item1, item2 in zip(lst1, lst2): print(item1 + item2) # 出力:aA # 出力:bB # 出力:cC # zip + リスト内包表記 lst_a = [1, 2, 3, 4] lst_b = [2, 3, 4, 5] lst_c = [x + y for x, y in zip(lst_a, lst_b)] lst_d = [x * y for x, y in zip(lst_a, lst_b)] print(lst_a) # 出力:[1, 2, 3, 4] print(lst_b) # 出力:[2, 3, 4, 5] print(lst_c) # 出力:[3, 5, 7, 9] print(lst_d) # 出力:[2, 6, 12, 20] lst1 = ['a', 'b', 'c'] lst2 = ['A', 'B', 'C', 'D'] len1 = len(lst1) len2 = len(lst2) length = max(len1, len2) for i in range(length): if len1 <= i: x = "-" else: x = lst1[i] if len2 <= i: y = "-" else: y = lst2[i] print(i, x + y) # 出力:0 aA # 出力:1 bB # 出力:2 cC # 出力:3 -D lst = ['a', 'b', 'c'] for item in reversed(lst): print(item) # 出力:c # 出力:b # 出力:a lst = ['a', 'c', 'b'] for item in sorted(lst): print(item) # 出力:a # 出力:b # 出力:c lst = ['a', 'c', 'b'] lst.sort() for item in lst: print(item) # 出力:a # 出力:b # 出力:c 例 (アンパック) lst = [10, 20] x, y = lst print(x, y) # 出力:10 20 #x, = lst # ValueError 例外 #x, y, z = lst # ValueError 例外 lst = [1, 2, 3, 4] *x, y, z = lst print(x, y, z) # 出力:[1, 2] 3 4 x, *y, z = lst print(x, y, z) # 出力:1 [2, 3] 4 x, y, *z = lst print(x, y, z) # 出力:1 2 [3, 4] *x, y = lst print(x, y) # 出力:[1, 2, 3] 4 x, *y = lst print(x, y) # 出力:1 [2, 3, 4] *x, = lst print(x) # 出力:[1, 2, 3, 4] *x1, x2, x3, x4, x5 = lst print(x1, x2, x3, x4, x5) # 出力:[] 1 2 3 4 x, y, z, _ = lst print(x, y, z) # 出力:1 2 3 x, *_, z = lst print(x, z) # 出力:1 4 x, *_ = lst print(x) # 出力:1 lst0 = [21, 22, 23] lst = [1, lst0, 3] print(lst) # 出力[1, [21, 22, 23], 3]: lst = [1, *lst0, 3] print(lst) # 出力:[1, 21, 22, 23, 3] tpl = (1, lst0, 3) print(tpl) # 出力:(1, [21, 22, 23], 3) tpl = (1, *lst0, 3) print(tpl) # 出力:(1, 21, 22, 23, 3) lst = [10, -20, 30] #print(max(1, lst, 3)) # TypeError 例外 print(max(1, *lst, 3)) # 出力:30 #print(min(1, lst, 3)) # TypeError 例外 print(min(1, *lst, 3)) # # 出力:-20 例 (スタック・キュー) lst = [] # スタック FILO lst.append("First") lst.append("Middle") lst.append("Last") print(lst) # 出力:['First', 'Middle', 'Last'] x = lst.pop() print(x) # 出力:Last x = lst.pop() print(x) # 出力:Middle x = lst.pop() print(x) # 出力:First print(lst) # 出力:[] # キュー FIFO (1/2) lst.append("First") lst.append("Middle") lst.append("Last") print(lst) # 出力:['First', 'Middle', 'Last'] x = lst.pop(0) print(x) # 出力:First x = lst.pop(0) print(x) # 出力:Middle x = lst.pop(0) print(x) # 出力:Last print(lst) # 出力:[] # キュー FIFO (2/2) lst.insert(0, "First") lst.insert(0, "Middle") lst.insert(0, "Last") print(lst) # 出力:['Last', 'Middle', 'First'] x = lst.pop() print(x) # 出力:First x = lst.pop() print(x) # 出力:Middle x = lst.pop() print(x) # 出力:Last print(lst) # 出力:[] 例 (共通 シーケンス演算) lst = [1, 2, 3] # x in list print(1 in lst) # 出力:True print(4 in lst) # 出力:False # x not in list print(1 not in lst) # 出力:False print(4 not in lst) # 出力:True # list1 + list2 lst1 = [1, 2, 3] lst2 = [4, 5, 6] lst3 = lst1 + lst2 print(lst3) # 出力:[1, 2, 3, 4, 5, 6] print(lst1 + []) # 出力:[1, 2, 3] print([] + lst1) # 出力:[1, 2, 3] # list*n # n*list lst = [1, 2, 3] lst1 = lst * 3 print(lst1) # 出力:[1, 2, 3, 1, 2, 3, 1, 2, 3] lst2 = 3 * lst print(lst2) # 出力:[1, 2, 3, 1, 2, 3, 1, 2, 3] lst3 = lst * (-3) print(lst3) # 出力:[] lst4 = [[]] * 3 print(lst4) # 出力:[[], [], []] lst4[0].append(9) print(lst4) # 出力:[[9], [9], [9]] lst = [[1]] lst5 = lst * 3 print(lst5) # 出力:[[1], [1], [1]] lst5[0].insert(0, -9) lst[0].append(9) print(lst5) # 出力:[[-9, 1, 9], [-9, 1, 9], [-9, 1, 9]] print(lst) # 出力:[[-9, 1, 9]] # list[i] lst = [0, 1, 2, 3, 4, 5, 6] print(lst[3]) # 出力:3 print(lst[-2]) # 出力:5 #print(lst[99]) # IndexError 例外 #print(lst[-99]) # IndexError 例外 # list[i:j] lst = [0, 1, 2, 3, 4, 5, 6] print(lst[2:4]) # 出力:[2, 3] print(lst[2:-3]) # 出力:[2, 3] print(lst[-5:-3]) # 出力:[2, 3] print(lst[:4]) # 出力:[0, 1, 2, 3] print(lst[2:]) # 出力:[2, 3, 4, 5, 6] print(lst[:]) # 出力:[0, 1, 2, 3, 4, 5, 6] print(lst[-99:4]) # 出力:[0, 1, 2, 3] print(lst[2:99]) # 出力:[2, 3, 4, 5, 6] print(lst[-99:99]) # 出力:[0, 1, 2, 3, 4, 5, 6] # list[i:j:k] lst = [0, 1, 2, 3, 4, 5, 6] print(lst[1:6:2]) # 出力:[1, 3, 5] print(lst[1:-1:2]) # 出力:[1, 3, 5] print(lst[-6:-1:2]) # 出力:[1, 3, 5] print(lst[-99:99:2]) # 出力:[0, 2, 4, 6] print(lst[5:1:-2]) # 出力:[5, 3] print(lst[-2:1:-2]) # 出力:[5, 3] print(lst[-2:-6:-2]) # 出力:[5, 3] print(lst[1:5:-2]) # 出力:[] #print(lst[5:1:0]) # ValueError 例外 print(lst[:6:2]) # 出力:[0, 2, 4] print(lst[1::2]) # 出力:[1, 3, 5] print(lst[1:6:]) # 出力:[1, 2, 3, 4, 5] print(lst[::2]) # 出力:[0, 2, 4, 6] print(lst[1::]) # 出力:[1, 2, 3, 4, 5, 6] print(lst[::]) # 出力:[0, 1, 2, 3, 4, 5, 6] # len(list) lst = [1, 2, 3, 4] print(len(lst)) # 出力:4 print(len([])) # 出力:0 lst = [1, -2, 3, -4] # min(list) print(min(lst)) # 出力:-4 # max(list) print(max(lst)) # 出力:3 # list.index(x[,i[,j]]) lst = [0, 1, 2, 3, 4, 3, 2, 1, 0] print(lst.index(1)) # 出力:1 print(lst.index(1, 2)) # 出力:7 print(lst.index(1, 2, 8)) # 出力:7 #print(lst.index(1, 2, 7)) # ValueError 例外 print(lst.index(1, -99)) # 出力:1 print(lst.index(1, 2, 99)) # 出力:7 print(lst.index(1, -99, 99)) # 出力:1 # list.count(x) lst = [1, 2, 3, 2, 1] print(lst.count(1)) # 出力:2 print(lst.count(3)) # 出力:1 print(lst.count(0)) # 出力:0 例 (ミュータブル シーケンス演算) # list[i] = x lst = [0, 1, 2, 3] lst[2] = 10 print(lst) # 出力:[0, 1, 10, 3] lst[-1] = 100 print(lst) # 出力:[0, 1, 10, 100] #lst[99] = 100 # IndexError 例外 #lst[-99] = 100 # IndexError 例外 # list[i:j] = iterable lst = [0, 1, 2, 3, 4, 5, 6] lst[1:6] = [100, 200] print(lst) # 出力:[0, 100, 200, 6] lst = [0, 1, 2, 3, 4] lst[2:4] = [201, 301] print(lst) # 出力:[0, 1, 201, 301, 4] lst[-3:4] = [202, 302] print(lst) # 出力:[0, 1, 202, 302, 4] lst[2:-1] = [203, 303] print(lst) # 出力:[0, 1, 203, 303, 4] lst[-3:-1] = [204, 304] print(lst) # 出力:[0, 1, 204, 304, 4] lst = [0, 1, 2, 3, 4, 5, 6] lst[:5] = [101, 201] print(lst) # 出力:[101, 201, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] lst[2:] = [102, 202] print(lst) # 出力:[0, 1, 102, 202] lst = [0, 1, 2, 3, 4, 5, 6] lst[-99:5] = [103, 203] print(lst) # 出力:[103, 203, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] lst[2:99] = [104, 204] print(lst) # 出力:[0, 1, 104, 204] # del list[i:j] lst = [0, 1, 2, 3, 4, 5, 6] del lst[2:5] print(lst) # 出力:[0, 1, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[:5] print(lst) # 出力:[5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[2:] print(lst) # 出力:[0, 1] lst = [0, 1, 2, 3, 4, 5, 6] del lst[:] print(lst) # 出力:[] lst = [0, 1, 2, 3, 4, 5, 6] del lst[-99:5] print(lst) # 出力:[5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[2:99] print(lst) # 出力:[0, 1] # list[i:j:k] = iterable lst = [0, 1, 2, 3, 4, 5, 6] lst[1:6:2] = [100, 300, 500] print(lst) # 出力:[0, 100, 2, 300, 4, 500, 6] lst = [0, 1, 2, 3, 4, 5, 6] lst[-7:-2:2] = [100, 300, 500] print(lst) # 出力:[100, 1, 300, 3, 500, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] lst[6:1:-2] = [100, 300, 500] print(lst) # 出力:[0, 1, 500, 3, 300, 5, 100] #lst[1:6:2] = [100, 300] # ValueError 例外 #lst[1:6:2] = [100, 300, 500, 700] # ValueError 例外 #lst[1:6:0] = [100, 300, 500] # ValueError 例外 lst = [0, 1, 2, 3, 4, 5, 6] lst[:5:2] = [100, 300, 500] print(lst) # 出力:[100, 1, 300, 3, 500, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] lst[2::2] = [100, 300, 500] print(lst) # 出力:[0, 1, 100, 3, 300, 5, 500] lst = [0, 1, 2, 3, 4, 5, 6] lst[1:4:] = [100, 300, 500] print(lst) # 出力:[0, 100, 300, 500, 4, 5, 6] lst = [0, 1, 2] lst[::] = [100, 200, 300] print(lst) # 出力:[100, 200, 300] lst = [0, 1, 2, 3, 4] lst[-99:99:2] = [100, 300, 500] print(lst) # 出力:[100, 1, 300, 3, 500] # del list[i:j:k] lst = [0, 1, 2, 3, 4, 5, 6] del lst[1:5:2] print(lst) # 出力:[0, 2, 4, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[-5:5:2] print(lst) # 出力:[0, 1, 3, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[-5:-1:2] print(lst) # 出力:[0, 1, 3, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[6:1:-2] print(lst) # 出力:[0, 1, 3, 5] lst = [0, 1, 2, 3, 4, 5, 6] #del lst[1:5:0] # ValueError 例外 lst = [0, 1, 2, 3, 4, 5, 6] del lst[:5:2] print(lst) # 出力:[1, 3, 5, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[1::2] print(lst) # 出力:[0, 2, 4, 6] lst = [0, 1, 2, 3, 4, 5, 6] del lst[::2] print(lst) # 出力:[1, 3, 5] lst = [0, 1, 2, 3, 4, 5, 6] del lst[::] print(lst) # 出力:[] lst = [0, 1, 2, 3, 4, 5, 6] del lst[-99:99:2] print(lst) # 出力:[1, 3, 5] # list.append(x) lst = [0, 1, 2, 3] lst.append(99) print(lst) # 出力:[0, 1, 2, 3, 99] # list.clear() lst = [0, 1, 2, 3] lst.clear() print(lst) # 出力:[] lst.clear() print(lst) # 出力:[] # list.copy() lst0 = [0, 1, 2, 3] lst1 = lst0.copy() print(lst1) # 出力:[0, 1, 2, 3] lst1[0] = 99 print(lst1) # 出力:[99, 1, 2, 3] print(lst0) # 出力:[0, 1, 2, 3] lst2 = [11, 12] lst0 = [0, lst2, 3] lst3 = lst0.copy() print(lst3) # 出力:[0, [11, 12], 3] lst2[0] = 99 print(lst3) # 出力:[0, [99, 12], 3] print(lst0) # 出力:[0, [99, 12], 3] # list.extend(iterable) lst = [0, 1] lst.extend([200, 300]) print(lst) # 出力:[0, 1, 200, 300] # list += iterable lst += [400, 500] print(lst) # 出力:[0, 1, 200, 300, 400, 500] # list *= n lst = [0, 1, 2, 3] lst *= 2 print(lst) # 出力:[0, 1, 2, 3, 0, 1, 2, 3] lst1 = [11, 12] lst = [0, lst1, 2] lst *= 2 print(lst) # 出力:[0, [11, 12], 2, 0, [11, 12], 2] lst[1].append(99) print(lst) # 出力:[0, [11, 12, 99], 2, 0, [11, 12, 99], 2] print(lst1) # 出力:[11, 12, 99] lst = [[]] lst *= 3 lst[0].append(99) print(lst) # 出力:[[99], [99], [99]] # list.insert(i, x) lst = [0, 1] lst.insert(1, 9) print(lst) # 出力:[0, 9, 1] lst.insert(0, [100, 200]) print(lst) # 出力:[[100, 200], 0, 9, 1] lst.insert(-99, -99) print(lst) # 出力:[-99, [100, 200], 0, 9, 1] lst.insert(99, 99) print(lst) # 出力:[-99, [100, 200], 0, 9, 1, 99] # list.pop([i]) lst = [0, 1, 2, 3] x = lst.pop() print(x) # 出力:3 print(lst) # 出力:[0, 1, 2] x = lst.pop(1) print(x) # 出力:1 print(lst) # 出力:[0, 2] x = lst.pop(-1) print(x) # 出力:2 print(lst) # 出力:[0] #x = lst.pop(-99) # IndexError 例外 #x = lst.pop(99) # IndexError 例外 x = lst.pop() print(x) # 出力:0 print(lst) # 出力:[] #x = lst.pop() # IndexError 例外 # list.remove( x ) lst = [0, 1, 2, 3, 2, 1, 0] lst.remove(2) print(lst) # 出力:[0, 1, 3, 2, 1, 0] #lst.remove(4) # ValueError 例外 # list.reverse() lst = [0, 1, 2, 3] lst.reverse() print(lst) # 出力:[3, 2, 1, 0] lst = [] lst.reverse() print(lst) # 出力:[] リスト表現・リスト内包表記・コンストラクタ構文 [[item1[, ...[, itemN]]][,]] [x1 for x2 in iterable] 【リスト内包表記】 class list([iterable]) itemN要素項目 x1設定要素 x2iterableから取得した要素変数 iterable元になるイテラブルオブジェクト (シーケンス・イテレートサポートのコンテナ・イテレータオブジェクト) リスト内包表記では、後ろに if 等でフィルタリング可能 ※:リスト表現の末尾カンマは無視 (空要素にはならない) 例 # リスト表現 lst = [] print(lst) # 出力:[] lst = [1, 2, 3] print(lst) # 出力:[1, 2, 3] lst = [1, [21, 22], [31, [321, 322]]] print(lst) # 出力:[1, [21, 22], [31, [321, 322]]] lst = [1, '2', 3.0] print(lst) # 出力:[1, '2', 3.0] # リスト内包表記 lst = [x for x in range(5)] print(lst) # 出力:[0, 1, 2, 3, 4] lst = [x * 3 for x in range(5)] print(lst) # 出力:[0, 3, 6, 9, 12] lst = [x for x in range(10) if x % 2 == 0] print(lst) # 出力:[0, 2, 4, 6, 8] lst = [x * 3 for x in range(10) if x % 2 == 0] print(lst) # 出力:[0, 6, 12, 18, 24] # コンストラクタ lst = list() print(lst) # 出力:[] lst = list([1, 3, 5]) print(lst) # 出力:[1, 3, 5] lst = list((2, 4, 6)) print(lst) # 出力:[2, 4, 6] lst = list("abc") print(lst) # 出力:['a', 'b', 'c'] sort()【ソート】メモ元のリストを変更 組み込み関数の sorted()【ソート】は変更なし 構文 list.sort(*, key=None, reverse=False) 戻り値なし (リスト自体を変更) key (キーワード引数)ソート関数 (詳細は下記参照) reverse (キーワード引数)反転の有無 (True:反転あり / False:反転なし) ※ 構文の * は、位置引数(未使用)とキーワード引数の区切り (def【関数定義】 参照) ソート関数 引数 (例)備考item要素値戻り値備考比較キー< で比較例 lst = [2, 3, 1] lst.sort() print(lst) # 出力:[1, 2, 3] lst = [2, 3, 1] lst.sort(reverse=True) print(lst) # 出力:[3, 2, 1] lst = ['B', 'a', 'C'] lst.sort() print(lst) # 出力:['B', 'C', 'a'] lst = ['B', 'a', 'C'] lst.sort(key=str.lower) print(lst) # 出力:['a', 'B', 'C'] # 絶対値でソート def funcSort(item): return abs(item) lst = [2, -3, 1] lst.sort() print(lst) # 出力:[-3, 1, 2] lst = [2, -3, 1] lst.sort(key=funcSort) print(lst) # 出力:[1, 2, -3] lst = [2, -3, 1] lst.sort(key=funcSort, reverse=True) print(lst) # 出力:[-3, 2, 1]