首頁  >  文章  >  後端開發  >  如何在給定嵌套列表的情況下建構具有可變深度的多層字典?

如何在給定嵌套列表的情況下建構具有可變深度的多層字典?

Patricia Arquette
Patricia Arquette原創
2024-10-17 11:10:30276瀏覽

How to Construct a Multi-Level Dictionary with Variable Depth Given a Nested List?

建構一個不同深度的多層字典

問題:

如何建構一個多級字典具有可變深度,給定嵌套值列表?考慮以下範例清單:

<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn