【发布时间】:2018-07-23 08:00:58
【问题描述】:
如果我愿意:
如果x是一维的,则返回x[I]
如果x是二维的,则返回x[i,:]
如果x是三维的,则返回x[i, j, :]
...
x 是 numpy 数组
class Foo:
def __init__(self, x):
self.x = x # an n-d array
def pop_q(q, tuple):
q = zeros(tuple)
def set_q(q, i, j=None, qq):
if q.ndim == 1:
q[i] = qq
else if q.ndim == 2:
q[i, :] = qq
else if q.ndim == 3:
q[i, j, :] = qq
def get_q(q, i, j=None):
if q.ndim == 1:
return q[i]
else if q.ndim == 2:
return q[i, :]
else if q.ndim == 3:
return q[i, j, :]
但是有没有更好的方法来写这个? (使用*args 可能是任意维数组)
我做这个封装的原因是为了保证模块化
【问题讨论】: