回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>如果我用Python编写:</p>
<pre><code>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))
</code></pre>
<p>我得到:</p>
<pre><code>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'
</code></pre>
<p>如何让Python更优雅地格式化None's和non existent字段,而不是错误消息?</strong></p>
<p>举个例子,我想在输出中看到更像:</p>
<pre><code>3, 3.14, 7, 8
3, ~, 7, ~
</code></pre>
<p>当然,理想情况下,我希望能够指定使用的字符串,而不是那些缺少的值。</p>