Tag: autovivification

在Python中初始化字典的最佳方法是什么?

在Perl中很多次,我会做这样的事情: $myhash{foo}{bar}{baz} = 1 我如何将其转换为Python? 到目前为止我有: if not 'foo' in myhash: myhash['foo'] = {} if not 'bar' in myhash['foo']: myhash['foo']['bar'] = {} myhash['foo']['bar']['baz'] = 1 有没有更好的办法?

什么是实现嵌套字典的最佳方式?

我有一个数据结构,基本上相当于一个嵌套的字典。 假设它看起来像这样: {'new jersey': {'mercer county': {'plumbers': 3, 'programmers': 81}, 'middlesex county': {'programmers': 81, 'salesmen': 62}}, 'new york': {'queens county': {'plumbers': 9, 'salesmen': 36}}} 现在,维护和创build这个非常痛苦, 每当我有一个新的州/县/职业,我必须通过令人讨厌的try / catch块创build下层字典。 而且,如果我想查看所有的值,我必须创build恼人的嵌套迭代器。 我也可以使用元组作为键,就像这样: {('new jersey', 'mercer county', 'plumbers'): 3, ('new jersey', 'mercer county', 'programmers'): 81, ('new jersey', 'middlesex county', 'programmers'): 81, ('new jersey', 'middlesex county', 'salesmen'): 62, ('new […]