如何迭代地创建嵌套字典?

V.A*_*Anh 1 python dictionary

我想从给定列表创建一个字典,嵌套元素如下所示.例如,给定:

lst = range(1, 11)
Run Code Online (Sandbox Code Playgroud)

如何创建一个函数来从此列表创建嵌套字典:

dic = {1: {2: {3: {4: {5: {6: {7: {8: {9: 10}}}}}}}}}
Run Code Online (Sandbox Code Playgroud)

Mik*_*ler 8

反转列表(或更好的范围对象).将最后一个(现在第一个)元素作为起始值,并在每个迭代中通过其余的反转列表创建一个新的dict:

>>> r = reversed(range(1, 11))
... d = next(r)
... for x in r:
...     d = {x: d}
... d
...
{1: {2: {3: {4: {5: {6: {7: {8: {9: 10}}}}}}}}}
Run Code Online (Sandbox Code Playgroud)