python - 通过多个维度索引列表的方法

标签 python list indexing nested-lists

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

相关文章:

list - LISP - 正在返回充满#的列表

ios - 选项卡栏快速选择索引

android - 更新通过 Parcelable Intent 传递的对象

python - 从 pandas 多重索引中删除冗余级别

python - 如何对列表的每个元素执行操作并将结果放入 Python 的新列表中?

c - semaphore.c 中的等待列表实现

c# - 如何使用字符串作为索引?

python - Django 模型表单集工厂和表单

python - 正则表达式 : Remove last period in string that can contain other periods (dig output)

python - 如何鲁棒地检查 Python 属性是否存在?