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 - メソッド等一覧
- 共通 シーケンス演算 (共通のシーケンス演算) 〔 例 〕
該当リストの変更なし 〔 例 〕 【指定値】
i・j<0
i・j が省略 または None
i・j が範囲外【特記なしの動作】
末尾からのインデックス ( len(list) + i・j :末尾が -1 )
先頭 または 末尾 (k の正負により範囲が広がる位置)
先頭 または 末尾 (近いほう)演算 備考 x in list リスト list のある要素が x と等しければ True 、等しくなければ False x not in list リスト list のある要素が x と等しければ False 、等しくなければ True list1 + list2 リスト list1 と リスト list2 の結合 list * n
n * 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<0
i・j が省略 または None
i・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 の要素を逆順に変更 - 外部リンク
例 (メモ)
# 要素数
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()【ソート】は変更なし
構文
例
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]