[解決済み] リスト内のdictのインデックスを、dictの値にマッチするように検索する
2022-05-02 02:46:56
質問
ディクショナリーのリストがあります。
list = [{'id':'1234','name':'Jason'},
{'id':'2345','name':'Tom'},
{'id':'3456','name':'Art'}]
name = 'Tom'にマッチするインデックス位置 [0], [1], [2] を効率的に見つけるにはどうしたらよいでしょうか?
これが1次元のリストならlist.index()で済むのですが、リスト内のdictsの値を検索して進める方法がよくわかりません。
どのように解決するのですか?
lst = [{'id':'1234','name':'Jason'}, {'id':'2345','name':'Tom'}, {'id':'3456','name':'Art'}]
tom_index = next((index for (index, d) in enumerate(lst) if d["name"] == "Tom"), None)
# 1
名前から繰り返し取得する必要がある場合は、(辞書を使って)名前でインデックスを作成します、このように。 得る の演算がO(1)時間になる。アイデアです。
def build_dict(seq, key):
return dict((d[key], dict(d, index=index)) for (index, d) in enumerate(seq))
people_by_name = build_dict(lst, key="name")
tom_info = people_by_name.get("Tom")
# {'index': 1, 'id': '2345', 'name': 'Tom'}
関連
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] リスト項目の出現回数を数えるにはどうしたらいいですか?
-
[解決済み] Pythonです。リスト内検索
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python string splicing.join()とsplitting.split()の説明
-
Python Decorator 練習問題
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?