嵌套对象使用表示为索引列表的键分配值?

时间:2016-11-02 15:09:30

标签: python indexing nested assign

假设我有一些嵌套对象(它们恰好是numpy数组但它们可能不是):

Object = numpy.array(shape = (10,10,10,10) )
OtherObject = numpy.array(shape = (10,10,10,10,10,10,10))

如果我想为位置[3,3,3,3]分配值1234.0,我可以这样做:

Object[3][3][3][3] = 1234.0

但是如果我想创建一个接受索引作为元组的函数,无论numpy数组维度如何,然后分配该值:

def AssignNestedObjectValue( Object, Key, Value  ):
    Object[Key] = Value

AssignNestedObjectValue( Object, (3,3,3,3), 1234.0 )
AssignNestedObjectValue( OtherObject, (3,3,3,3,7,8,9), 1234.0 )

我该如何编写该功能? (它应该适用于任意深度的嵌套对象,适用于任何嵌套对象)

注意: (显然我的例子可能有一个引用传递问题,具体取决于对象的可变性 - 假设对象总是可变的,并且不要讨论python可变和不可变的数据类型)

我真的只对修复键分配语法和处理任意键深度感兴趣

0 个答案:

没有答案