假设表单中有一个元组
J = ((1),((2),((3),((4), (7,7)))))
您需要根据for循环中发生的迭代次数来更改索引J的值
这个问题涉及到用整数替换第二个元组,但是由于每次都使用for循环,因此引用的深度将不同
目标: 使用元组中的值执行操作,并用值替换该元组
我知道
list(J)[1][1][1][1]
将等于我要更改的(7,7)值
但是假设我有索引-4的深度。有没有办法将其作为变量和代码来引用
list(J)[1][1][1][1]
用4而不是用硬编码的方式键入每个括号? 原因是,我想在for循环中包含赋值
例如
list(J)"[1]"*depthvariable = changed value
或者什么,等于
list(J)[1][1][1][1] = changed value
当depthvariable等于4时
简言之,是否有一种方法可以使用每次递增的整数,以便在代码本身中执行此操作:
第一次:
J[1]
两次:
J[1][1]
三次:
J[1][1][1]
如果我在J中使用jelement,那么我将丢失整个变量。我不想获取J元组中的元素,我需要保留整个变量。我只是想改变J中的某些元素,但我不确定如何编码,如果我在for循环中每次看到的深度都不同
我一直在努力寻找一个表达式,在深度每次改变时引用元组中的元素。 因为它将包含不同数量的括号。 例如
J[1], J[1][1] etc.
提前谢谢你的帮助
编辑: 重要的是,我可以使用可变深度索引更改J本身
使用循环
您可以使用
reduce
和operator.getitem
相关问题 更多 >
编程相关推荐