<p>可以将<a href="https://docs.python.org/2/library/stdtypes.html#dict.get">^{<cd1>}</a>与默认值一起使用:</p>
<pre><code>lines = sorted(lines, key=lambda k: k['page'].get('update_time', 0), reverse=True)
</code></pre>
<p>示例:</p>
<pre><code>>>> lines = [
... {"page": {"url": "url1", "update_time": "1415387875"}, "other_key": {}},
... {"page": {"url": "url2", "update_time": "1415381963"}, "other_key": {}},
... {"page": {"url": "url3", "update_time": "1415384938"}, "other_key": {}},
... {"page": {"url": "url4"}, "other_key": {}},
... {"page": {"url": "url5"}, "other_key": {}}
... ]
>>> lines = sorted(lines, key=lambda k: k['page'].get('update_time', 0), reverse=True)
>>> for line in lines:
... print line
...
{'other_key': {}, 'page': {'url': 'url1', 'update_time': '1415387875'}}
{'other_key': {}, 'page': {'url': 'url3', 'update_time': '1415384938'}}
{'other_key': {}, 'page': {'url': 'url2', 'update_time': '1415381963'}}
{'other_key': {}, 'page': {'url': 'url4'}}
{'other_key': {}, 'page': {'url': 'url5'}}
</code></pre>
<p>尽管如此,我还是会遵循费迪南德建议的<a href="https://docs.python.org/2/glossary.html#term-eafp">^{<cd2>} principle</a>方法——这样,当<code>page</code>键也丢失时,您也可以处理这种情况。让它失败并处理它要比检查各种各样的角落案例容易得多。</p>