Ich habe Probleme mit format
mit einer Zeichenfolge, die wie ein Python-Wörterbuch aussieht.Warum interpretiert Python diese Zeichenfolge beim Formatieren als Wörterbuch?
Ich möchte die folgende Zeichenfolge generieren: {"one":1}
Wenn ich versuche, es zu tun, wie:
'{"one":{}}'.format(1)
der Dolmetscher wirft einen KeyError:
>>> a = '{"one":{}}'.format(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: '"one"'
Ich verstehe, dass das Problem wahrscheinlich dreht sich um die Tatsache, dass die Zeichenfolge {
enthält, die mit format
{}
verwechselt werden kann. Warum passiert das genau und wie kann es gelöst werden?
Ich kenne die prozentuale Formatierung, aber ich würde gerne eine Lösung finden, die keine format()
Grabenbildung beinhaltet.
Beachten Sie als Prozentsatz Formatierung ist schneller: format = ,7228269569986878,% = ,03355357599866693 (Ergebnis der 'timeit.timeit 'auf Ihrem Beispiel) –
@YaroslavSurzhikov Wenn Sie nicht riesige Mengen an Saiten generieren, glaube ich nicht, dass das wirklich zählt. – JAB
Wenn Sie eine Zeichenkette aus einem Wörterbuch erstellen möchten, betrachten Sie 'str ({" eins ": 1})'. – marcelm