辞書では、特定のキーに特定のエンコーディングがあることを確認したいと思います。なぜSyntaxErrorですか? (Python、インラインifの辞書の理解)
test_dictionary = { k:v.encode('latin-1') if k=="test_key" else k:v for k,v in test_dictionary.items() }
SyntaxError
が得られます。私はこれが許されると思った。
辞書では、特定のキーに特定のエンコーディングがあることを確認したいと思います。なぜSyntaxErrorですか? (Python、インラインifの辞書の理解)
test_dictionary = { k:v.encode('latin-1') if k=="test_key" else k:v for k,v in test_dictionary.items() }
SyntaxError
が得られます。私はこれが許されると思った。
代わりにこれを試してください。
test_dictionary = { k:v.encode('latin-1') if k=="test_key" else v for k,v in test_dictionary.items() }
第:
が除去されたインラインのでif
それは条件に応じされるいずれかv
をコードする、またはそれを残します。
{ k: (v.encode('latin-1') if k=="test_key" else v) for k,v in test_dictionary.items() }
^___________________________________________^
参考:[条件式の構文](HTTPS:/
は、私は、これはリスト内包の「値」の部分であることを、それより明確にするために、次の式に括弧を追加しました明らかにするために、 /docs.python.org/3/reference/expressions.html#conditional-expressions)と[Dict comprehension syntax](https://docs.python.org/3/reference/expressions.html#dictionary-displays) – unutbu