我想填充嵌套字典,但有麻煩,因爲我相當新的python(也堆棧溢出)。拆分輸出來填充嵌套字典python
我有一個包含照片路徑的txt文件,我想將它從拼圖中填充到嵌套字典中。該文本文件的一個例子是這樣的:
/photos/Bob_January_W1_001.png
/photos/Alice_April_W2_003.png
如果Bob是用戶,一月是一個月,W1的周和001照片的NR。
我想填充在下面的結構嵌套的字典(根據我讀)等
:{'Bob': {'January': {'W1': 001, 002, 003}, {'W2': 001, 002,003}}, 'February': {'W3': 001, 002}} #And so on for other keys as well
到目前爲止,我只設法分類編號給用戶,這樣:
sorteddict = {}
with open('validation_labels.txt','r') as f:
for line in f:
split = line.split('_')
user = split[1]
month = split[2]
week = split[3]
image = split[4]
if action_class in clipframe:
sorteddict[user].append(image)
else:
sorteddict[user] = [image]
但是現在我想要我描述的嵌套結構。我開始初始化我的嵌套字典,如nesteddict[user][month][week].append(image)
,但我收到KeyError: 'Bob'
。我也明白,如果陳述和條件,我將需要更多。但我不知道從哪裏開始。
使用'COLLEC tions.defaultdict'。 – zondo
您可以使用具有默認值的'get()',例如:'nesteddict.get('Bob',{})' –