我正在编写使用嵌套列表的代码。我的列表结构本质上是 2 个元素,但第二个元素包含两个单独的元素,依此类推。因此,列表的大小增长为 2^n + 1。无论如何,对于函数的每次递归,我都需要能够访问某个“深度”的任何给定元素。通常,这是微不足道的,
list1 = [[0,1], [[1,2], [1,0]]]
以下代码:
list1[1][1]
会返回:
[1,0]
但是,对于 n 维嵌套列表(考虑到这是一个嵌套列表而不是数组,我相当随意地使用“维度”这个词)我肯定需要对我的 [1] 索引进行“取幂”以便索引进入每个逐渐“更深”的嵌套列表。有没有简单的方法可以做到这一点?
在此先致谢,非常感谢您的帮助。
最佳答案
使用递归:
def get(li, k):
return get(li[1], k-1) if k > 0 else li
或迭代:
def get(li, k):
for _ in range(k):
li = li[1]
return li
关于python - 通过多个维度索引列表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66055546/