【まず1嫁】くだすれPython(超初心者用) その55at TECH【まず1嫁】くだすれPython(超初心者用) その55 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト170:デフォルトの名無しさん 21/10/12 17:12:16.40 db3N35kL.net >>169 こうですか? item = next(filter(lambda d: d[id] == _id, db)) 171:デフォルトの名無しさん 21/10/12 18:55:46.32 rbfrUXN4.net 線形探索に変わりはないから本質的には変わらない 規模と目的にもよるが事前にハッシュテーブルを作成するなりしたらいいんじゃない? 172:デフォルトの名無しさん 21/10/12 19:05:49.73 rbfrUXN4.net >>170 最初の1つを取得したいなら素直にfor文で回して見つけ次第breakすればいいんじゃない? 173:デフォルトの名無しさん 21/10/12 19:27:30.01 db3N35kL.net >>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] 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch