2024-06-14 11:44:35 发布
网友
如果我想创建这样的词典:
switches = {'s1': {'port1': [[0, 0, 0], [1, 1, 1]], 'port2': [2,2,2]}}
我试过:
但是,[1, 1, 1]覆盖了[0, 0, 0]!在
[1, 1, 1]
[0, 0, 0]
我怎样才能得到键'port1'的值[[0, 0, 0], [1, 1, 1]]?在
'port1'
[[0, 0, 0], [1, 1, 1]]
您的dict键可能是某种列表,因此您可以向其附加多个值。在
switches['s1'] = {} switches['s1']['port1'] = list() switches['s1']['port1'].append([0, 0, 0]) switches['s1']['port1'].append([1, 1, 1])
另外,如果您添加单个值,您也可以将它们放入一个列表中,这样您就可以始终以相同的方式访问dict:
得到第一个港口
print(switches['s1']['portN'][0]
扩展一下idjaw的评论和keksnicoh的回答,我认为使用defaultdict可以让你的生活更轻松一些。在
defaultdict
>>> from collections import defaultdict >>> d = defaultdict(lambda: defaultdict(list)) >>> d['s1']['port1'].append([0, 0, 0]) >>> d['s1']['port1'].append([1, 1, 1]) >>> d['s1']['port2'].append([2, 2, 2]) >>> d defaultdict(<function <lambda> at 0x7f5d217e2b90>, {'s1': defaultdict(<type 'list'>, {'port2': [[2, 2, 2]], 'port1': [[0, 0, 0], [1, 1, 1]]})})
你可以像普通字典一样使用它:
您的dict键可能是某种列表,因此您可以向其附加多个值。在
另外,如果您添加单个值,您也可以将它们放入一个列表中,这样您就可以始终以相同的方式访问dict:
^{pr2}$得到第一个港口
扩展一下idjaw的评论和keksnicoh的回答,我认为使用
defaultdict
可以让你的生活更轻松一些。在你可以像普通字典一样使用它:
^{pr2}$相关问题 更多 >
编程相关推荐