>>172
検索速度を速くするために内包表記、全走査せず見つけたら止まるようにジェネレータを使うので
item = next(filter(lambda d: d[id] == _id, db))
もしくは、
item = next(d for d in db if d[id] == _id)

>>171
ハッシュテーブル使うならこうですか?
item = eval(' | '.join([f'db[{i}]' for i in range(len(db))]))[id]