【发布时间】:2015-01-11 20:09:20
【问题描述】:
我正在编写的一个类需要使用存储 numpy 数组的变量名属性。我想为这些数组的切片分配值。我一直在使用 setattr,以便我可以让属性名称有所不同。我为切片赋值的尝试如下:
class Dummy(object):
def __init__(self, varname):
setattr(self, varname, np.zeros(5))
d = Dummy('x')
### The following two lines are incorrect
setattr(d, 'x[0:3]', [8,8,8])
setattr(d, 'x'[0:3], [8,8,8])
上述 setattr 的使用都不会产生我想要的行为,即 d.x 是一个包含条目 [8,8,8,0,0] 的 5 元素 numpy 数组。可以用 setattr 做到这一点吗?
【问题讨论】:
标签: python numpy slice setattr