我确实没有充分的理由需要知道这一点,但是是否有可能找到第 0 个索引一定次数?假设你有这段代码
ar = [[[["a"]]]]
print(ar[0][0][0][0])
但您可以像 ar([0]*4)
那样执行,而不是 4 [0][0][0][0]
。不管怎样,谢谢你的帮助。
最佳答案
您想要做的事情听起来很奇怪,因为您很少会遇到具有未知嵌套结构的情况。也就是说,当您遇到“多次执行 X”类型的问题时,您首先应该想到的是循环。
例如,只要 ar
是 list 类型的实例,您就可以将
并且也不为空。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/