我经常在示例代码中看到这个:
# Our mock database.
users = {'foo@bar.tld': {'password': 'secret'}}
Run Code Online (Sandbox Code Playgroud)
想知道为什么不只是说
passwords = {"foo@bar.tld": "secret"}
Run Code Online (Sandbox Code Playgroud)
这种嵌套结构的好处在哪里?
肯定有一个缺点:需要确保为我设置的每个用户命名密钥"密码"相同...
因为通常情况下,您需要在字典的每个级别中包含更多条目
users = {'foo@bar.tld': {'password': 'secret',
'name': 'john smith',
'creation_date': '2017/09/06'},
'baz@qux.tld': {'password': 'secret',
'name': 'someone else',
'creation_date': '2017/08/02'}}
Run Code Online (Sandbox Code Playgroud)
这类似于JSON的结构,您可以在其中使用任意嵌套的项来表示层次结构.