[英]Defining Multi-Dimension Dictionary Dynamically
我試圖聲明一個多維字典,我發現總是不得不用我的內部字典創建一個變量然后將其分配給它的父值字典很麻煩。
來自PHP,我現在想知道我是否只是缺少一些東西。
這就是我的意思
我以前經常這樣做
$var['nicolas']['age'] = 25;
$var['nicolas']['isMale'] = True;
$var['some_one_else']['age'] = 30;
$var['some_one_else']['isMale'] = False
我真的很喜歡它,因為它允許我創建循環並動態添加新的鍵/值。
例如
$team_members = array(
"someDepartment" => array(
"Nicolas" => array(
'Title' => 'ConfusedProgrammer',
'Age' => 25,
'Sex' => 'm'
)
),
"OtherDepartment" => array(
"otherGuy" => array(
'Title' => 'Manager',
'Age' => 30,
'Sex' => 'f'
)
)
);
$response = array();
foreach($team_members as $deptName => $deptVal){
foreach($deptVal as $cName => $cVal){
$response[$cName]['Age'] = $cVal['Age'];
$response[$cName]['isMale'] = (strtolower($cVal['Sex']) == 'm'?True:False);
}
}
在python中,我將實現的方式類似於以下內容。
parent_dict = {}
parent_dict['test'] = {}
parent_dict['test']['hello'] = 'It works'
parent_dict['test2']['other_way_to_say_hello'] = 'Does not work :( '
我想做的是避免聲明新尺寸。
現在,在對此進行研究之后,我意識到我所尋找的行為可能根本不可能。
但希望能看到你們如何處理這種情況。
我是python的新手,到目前為止很喜歡它,但是我感覺經常要處理這種類型的問題,並且確實大大降低了我的進度。
謝謝
您可以使用defaultdict
並將默認值設置為新的defaultdict
。 https://docs.python.org/3/library/collections.html#collections.defaultdict
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.