私はPythonの辞書のように見える文字列でformat
を使用して問題を抱えています。私はそれをしようとした場合{"one":1}
として:私は次の文字列を生成したいなぜ、この文字列を書式設定時に辞書として解釈するのですか?
インタプリタはKeyError例外をスロー
'{"one":{}}'.format(1)
:
>>> a = '{"one":{}}'.format(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: '"one"'
私は、問題はおそらく周りを公転することを理解し文字列がformat
の{}
と混同することができ{
が、含まれているという事実。なぜこれは正確に起こり、どのように解決できるのでしょうか?
私は、パーセントの書式を知っているが、私はformat()
を捨てる必要としない解決策を見つけるしたいと思います。
パーセントのフォーマットよりも心に留めておいてくださいは速いです:timeit.timeit 'の形式= 0.7228269569986878、%= 0.03355357599866693(結果'あなたの例で) –
@ YaroslavSurzhikov膨大な量の文字列を生成しているのでなければ、それは本当に重要だとは思わない。 – JAB
辞書の文字列を作成する場合は、 'str({" one ":1})'を考慮してください。 – marcelm