前提・実現したいこと
pythonで辞書の値を変更したいです。
辞書の値の変更はキーを指定するものばかりで、キーを指定しないで値を変更する方法があるのか分からないため質問させていただきます。もしくは、dict.update()以外でキーを指定する方法があれば教えてほしいです。
スパムメールフィルターを作っています。
Aは単語とその単語の頻度を表しています。一部のみ書いていますが、実際は1万単語くらいあるので、一つずつ単語を指定して値の変更が出来ません。
Bは単語と単語の出現率を表しています。sum_numは1万の単語の合計数です。
出現率は、単語の頻度 / 1万単語の合計数 で出すつもりです。
それぞれの単語の出現率を、Bの値に上書きしたいです。
単語を指定したときに、出現率をすぐに出せるようにしたいためです。
足りないところがある場合は言っていただければ幸いです。
発生している問題・エラーメッセージ
syntax Error: can't assign to function call
該当のソースコード
python3
1 2A = {"開催":1, "人気":2, "販売":3, "講義":4, ...} 3B = {} 4 5 6B = A.copy() 7for num in A.values(): 8 sum_num += num 9 10for prob in B.values(): 11 B.values() = prob / sum_num 12 ^ 13syntax Error: can't assign to function call
試したこと
dict.update()を使おうとしたが、量が膨大でキーの指定が出来なかった。
Aの辞書の中身が1万単語くらいあるので、一つずつキーを指定して辞書の値の変更ができないため。
補足情報(FW/ツールのバージョンなど)
python 3.6.12
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/31 07:31