按多个维度对列表进行索引的方法

我正在编写使用嵌套列表的代码。我的列表结构本质上是 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


以上是按多个维度对列表进行索引的方法的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>