python - 有没有办法以可变的次数找到第 0 个索引?

标签 python arrays

我确实没有充分的理由需要知道这一点,但是是否有可能找到第 0 个索引一定次数?假设你有这段代码

ar = [[[["a"]]]]
print(ar[0][0][0][0])

但您可以像 ar([0]*4) 那样执行,而不是 4 [0][0][0][0]。不管怎样,谢谢你的帮助。

最佳答案

您想要做的事情听起来很奇怪,因为您很少会遇到具有未知嵌套结构的情况。也就是说,当您遇到“多次执行 X”类型的问题时,您首先应该想到的是循环。

例如,只要 arlist 类型的实例,您就可以将 ar 设置为 ar 的第零个元素 并且也不为空。

ar = [[[["a"]]]]
while isinstance(ar, list) and len(ar) > 0:
    ar = ar[0]

print(ar) # output: a

注意:如果您是初学者,len(ar) > 0 只是为了清楚起见。空列表是错误的,因此您也可以只执行 while isinstance(ar, list) and ar:

您还可以指定可以向下钻取的次数以及要向下钻取的索引:

def drill_down(arg, index, count):
    for i in range(count):
        if isinstance(arg, list) and len(arg) > index:
            arg = arg[index]
    return arg

ar = [[[["a"]]]]
result = drill_down(ar)
print(result) # Output: a

或者,您可以使用递归函数,其行为类似于循环:

def drill_down(arg, index, count):
    if isinstance(arg, list) and len(arg) > index and count > 0:
        return drill_down(arg[index], index, count - 1)
    return arg

ar = [[[["a"]]]]
result = drill_down(ar)
print(result) # Output: a

关于python - 有没有办法以可变的次数找到第 0 个索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67012120/

相关文章:

python - 如何使用Python在音频wav/原始文件中查找高频噪声的时间?

php - 将 jQuery 数组字符串转换为 PHP 数组

flash - NetStream.appendBytes

php - 如何在现有关联数组中插入新的键值对?

python - CVXOPT二次编程接口(interface)

python - Pandas 中没有年份的日期

Python - 添加空值

python - Gurobi模型修改慢,可以直接修改约束矩阵吗?

JavaScript 对象数组未正确排序

c++ - C++中移动数组的函数