'A=5, b=7'
フォームの文字列をdict に変換する関数を作成しようとしています{'A': 5, 'b': 7}
。次のコード スニペットは、メインfor
ループ内で発生するものです。文字列の単一の部分を単一の dict 要素に変換します。
これで問題ありません:
s = 'A=5'
name, value = s.split('=')
d = {name: int(value)}
これではありません:
s = 'A=5'
d = {name: int(value) for name, value in s.split('=')}
ValueError: need more than 1 value to unpack
タプルが辞書内包表記になっていると、タプルをアンパックできないのはなぜですか? これが機能するようになれば、関数全体を単一のコンパクトな dict 内包表記にすることが簡単にできます。