作成
{キー1: 値1, ...}
空{}同じ長さのリストから作成dict(zip(キーのリスト, 値のリスト, strict=True))zip() で strict=True を指定して、リストの長さが違ったらエラーにする デフォルト値from collections import defaultdictdefaultdict(型)from collections import defaultdictdefaultdict(lambda: 値) リストの要素をキーにするdict.fromkeys(リスト)デフォルト値ありfor key in リスト: デフォルト辞書[key]{k: 式 for k in リスト}Get※キーが存在しないとエラー辞書[キー]
デフォルト値defaultdict なら不要辞書.get(キー, 値)Setdefaultdict なら不要辞書[キー] = 値
デフォルト値辞書.setdefault(キー, 値)削除
要素
del 辞書[キー]
全削除
辞書.clear()連結辞書1 |= 辞書2辞書1.update(辞書2)新 = 辞書1 | 辞書2内包表記{k: 式 for k, v in 辞書.items()}{k: 式 for k, v in 辞書.items() if 条件}合計sum(辞書.values())チェック
キーがあるか
キー in 辞書
辞書.get(キー, 値) か 辞書.setdefault(キー, 値) を使う方がPythonic値があるか値 in 辞書.values()ループ
キー
for k in 辞書.key
[0, 終)
for i in range(終):
処理[始, 終)for i in range(始, 終):逆順
for i in range(始, 終, -1):break
for i in range(終): if 条件: breakcontinue
for i in range(終): if 条件: continue
Importimport random作成値 を n 個持つリスト[値] * n取得末尾を削除して取得リスト.pop()追加末尾
リスト.append(値)
位置を指定
リスト.insert(インデックス, 値)
削除
インデックスを指定
del リスト[インデックス]
値を指定
リスト.remove(値) 値が存在しなくてもエラーを出さない新リスト = [x for x in リスト if x != 値]if 値 in リスト: リスト.remove(値)他のリストの値を削除[x for x in リスト if x not in 他のリスト]リスト自体del リスト連結
変更
リスト.extend(他のリスト)
作成リスト += 他リスト変換 2次元配列から1次元配列from itertools import chain1次元配列 = list(chain.from_iterable(2次元配列)) 1つの値にするfrom functools import reduce値 = reduce(lambda 値1, 値2: 処理, リスト)合計値 = sum(リスト)部分リスト[始, 終)リスト[始:終]
※終が要素数より大きい場合、末尾までになる[始, 末尾]
リスト[始:]
[0, 終)リスト[:終]ランダムに選択import random要素 = random.choice(リスト)seed はデフォルトでシステム時間を使用するループfor 値 in リスト:インデックスと値for i, 値 in enumerate(リスト):追加と削除ループ内ではやらない(バグ
取得
ファイルを指定
Dim データベース As DAO.DATABASE
Set データベース = OpenDatabase("データベースのフルパス") 参照なし
Set データベース = CreateObject("DAO.DBEngine.120").OpenDatabase(データベースのフルパス)
昇順SELECT句
FROM句WHERE句...ORDER BY 列1, ...;降順ORDER BY 列1 DESC, ...;集計列の並べ替えORDER BY 集計の計算式 エイリアスを指定するSELECT *FROM ( SELECT 列1, Sum(列2) AS 別名 FROM テーブル GROUP BY カラム1)ORDER BY 別名;※ 集計列の別名をORDER BYには使えない