[英]How to create dict with 2 keys and one value?
在python中,我可以將dictionary定義為:
d = {}
並將數據存儲為:
d['a1'] = 1
如何存儲2把鑰匙?
d['a1']['b1'] = 1
d['a1']['b2'] = 2
d['a2']['b1'] = 3
d['a2']['b2'] = 4
然后為d['a1']
打印所有鍵和值,例如:
b1 -> 1
b2 -> 2
您可以在collections
模塊( 此處的文檔 )中使用defaultdict
:
from collections import defaultdict
d = defaultdict(dict)
d['a1']['b1'] = 1
d['a1']['b2'] = 2
d['a2']['b1'] = 3
d['a2']['b2'] = 4
print(d['a1'])
印刷品:
{'b1': 1, 'b2': 2}
您可以使用collections.defaultdict
但不能像示例中那樣將int和dict分配混合到d['a1']
。
from collections import defaultdict
d = defaultdict(dict)
d['a1']['b1'] = 1
d['a1']['b2'] = 2
d['a2']['b1'] = 3
d['a2']['b2'] = 4
d['a3'] = 1
print(d['a1'])
print(d['a3'])
>>> {'b1': 1, 'b2': 2}
>>> 1
如果您真的想先為d['a1']
分配1,然后將其更改為字典,則必須在使用d['a1'] = {}
進行分配后手動進行操作。
這不是一個dict
; 這是一個dict
,它有其他dict
S作為值。
d['a1'] = {'b1': 1}
d['a1'] = {'b2': 2}
d['a2'] = {'b1': 3}
d['a2'] = {'b2': 4}
從那里,您可以像處理其他任何值一樣使用每個嵌套的dict
。 例如
for k1, v1 in d.items():
for k2, v2 in v1.items():
print("{} -> {} -> {}".format(k1, k2, v2))
您需要創建嵌套的字典:
d = {'a1': {'b1': 1, 'b2': 2}, 'a2': {'b1': 3, 'b2': 4}}
然后:
for k, v in d['a1'].items():
print(k, v)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.