問題:
如何建構一個多級字典具有可變深度,給定嵌套值列表?考慮以下範例清單:
<code>[A][B1][C1] = 1 [A][B1][C2] = 2 [A][B2] = 3 [D][E][F][G] = 4</code>
所需的輸出是類似以下結構的多層字典:
<code>A --B1 -----C1 = 1 -----C2 = 1 --B2 = 3 D --E ----F ------G = 4</code>
解:
使用defaultdict
模組中的collections
,可以動態建立巢狀字典,而不需要硬編碼插入語句。當未找到現有鍵時,defaultdict
傳回預設值。實作方式如下:
<code class="python">from collections import defaultdict # Define a function to create a nested dictionary with any level of depth nested_dict = lambda: defaultdict(nested_dict) # Create the nested dictionary using the nested_dict function nest = nested_dict() # Populate the nested dictionary with the given data nest[0][1][2][3][4][5] = 6 print(nest)</code>
此程式碼將建立一個深度為 7 的巢狀字典,其中鍵 [0][1][2][3][4][5]
的值設為 6。可以使用以下方式存取巢狀字典相同的金鑰結構,允許動態建立和檢索各個層級的資料。
以上是如何在給定嵌套列表的情況下建構具有可變深度的多層字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!