[解決済み】与えられたキーがすでに辞書に存在するかどうかをチェックし、それをインクリメントする
2022-03-27 22:43:52
質問
ある辞書が与えられたとき、その辞書内のあるキーがすでに非Noneの値に設定されているかどうかを調べるにはどうしたらよいですか?
つまり、こんなことをしたいのです。
my_dict = {}
if (my_dict[key] != None):
my_dict[key] = 1
else:
my_dict[key] += 1
つまり、そこにすでに値があればインクリメントし、そうでなければ1にしたいのです。
どのように解決するのですか?
あなたが探しているのは
collections.defaultdict
(Python 2.5+ で利用可能)。これは
from collections import defaultdict
my_dict = defaultdict(int)
my_dict[key] += 1
は、あなたが望むことを実行します。
通常のPythonの場合
dict
の場合、与えられたキーに対応する値がない場合、次のようになります。
ない
得る
None
ディクショナリにアクセスするとき -- a
KeyError
が発生します。ですから、もし通常の
dict
のように、あなたのコードの代わりに
if key in my_dict:
my_dict[key] += 1
else:
my_dict[key] = 1
関連
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] インスタンスのクラス名を取得する?
-
[解決済み] 辞書をキーでソートするにはどうしたらいいですか?
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] なぜdict[key]ではなく、dict.get(key)なのか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする