[解決済み] 辞書のリストに値がすでに存在するかどうかをチェックしますか?
2022-04-25 22:47:27
質問
Pythonで以下のような辞書のリストを持っています。
a = [
{'main_color': 'red', 'second_color':'blue'},
{'main_color': 'yellow', 'second_color':'green'},
{'main_color': 'yellow', 'second_color':'blue'},
]
以下のように、特定のキー/値を持つ辞書がすでにリストに存在しているかどうかをチェックしたい。
// is a dict with 'main_color'='red' in the list already?
// if not: add item
解決方法は?
ここで、ひとつの方法を紹介します。
if not any(d['main_color'] == 'red' for d in a):
# does not exist
括弧の中の部分はジェネレータ式で
True
は、探しているキーと値のペアを持つ各ディクショナリに対して、そうでない場合は
False
.
もしキーが見つからない場合は、上記のコードで
KeyError
. これを修正するには
get
で、デフォルト値を指定します。を提供しない場合
デフォルト
の値を指定します。
None
が返される。
if not any(d.get('main_color', default_value) == 'red' for d in a):
# does not exist
関連
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] リストに値が存在するかどうかを確認する最速の方法
-
[解決済み] オブジェクトの属性に基づいてオブジェクトのリストを並べ替えるには?
-
[解決済み] 辞書のキーが利用できない場合、デフォルト値を返す
最新
-
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 人工知能 人間学習 描画 機械学習モデル作成
-
PicgoのイメージベッドツールをPythonで実装する
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
任意波形を生成してtxtで保存するためのPython実装
-
Pythonショートビデオクローラーチュートリアル
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない