So bringen Sie Python dazu, keine und nicht vorhandene Felder ordnungsgemäß zu formatieren [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Lassen Sie die Werte leer, wenn sie nicht im Format str. übergeben werden 5 Antworten

Wenn ich in Python schreibe:

data = {'n': 3, 'k': 3.141594, 'p': {'a': 7, 'b': 8}}
print('{n}, {k:.2f}, {p[a]}, {p[b]}'.format(**data))
del data['k']
data['p']['b'] = None
print('{n}, {k:.2f}, {p[a]}, {p[b]}'.format(**data))

Ich bekomme:

3, 3.14, 7, 8
Traceback (most recent call last):
  File "./funky.py", line 186, in <module>
    print('{n}, {k:.2f}, {p[a]}, {p[b]}'.format(**data))
KeyError: 'k'

Anstelle einer FehlermeldungWie kann ich Python dazu bringen, die Felder "Keine" und "Nicht vorhanden" eleganter zu formatieren?

Um ein Beispiel zu geben, möchte ich in der Ausgabe etwas ähnlicheres sehen:

3, 3.14, 7, 8
3, ~, 7, ~

Im Idealfall möchte ich natürlich die Zeichenfolge angeben können, die anstelle dieser fehlenden Werte verwendet wird.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage