我编写了一个程序,包括以下函数,它涉及初始化一个空列表,并在迭代期间附加它。
def build_window_sequence(x,y,windowsize):
num_sequence = x.shape[0]
num_size = x.shape[1]
x_window_sequence = []
y_window = []
for i in range(num_sequence):
low_index = 0
high_index = 0
for j in range(num_size):
low_index = j
high_index = low_index+windowsize-1
current_index = low_index+round(windowsize/2)
x_window_sequence = x_window_sequence.append(train_x[i,low_index:high_index])
y_window = y_window.append('train_y[current_index]')
return x_window, y_window
但是,运行该程序会出现以下错误消息
x_window_sequence = x_window_sequence.append('train_x[i,low_index:high_index]')
AttributeError: 'NoneType' object has no attribute 'append'
仅为了解更多信息,所涉及的数组具有以下形状
train_x shape (5000, 501)
train_y shape (5000, 501)
答案 0 :(得分:0)
x_window_sequence = x_window_sequence.append(train_x[i,low_index:high_index])
您在此处分配.append
的结果,但.append
不返回任何内容(即返回None
)。您可以阅读更多here。
答案 1 :(得分:0)
None
是到位操作,返回x_window_sequence.append(train_x[i,low_index:high_index])
y_window.append('train_y[current_index]')
。
因此,您应该在不指定变量的情况下追加:
function extractIds(arr) {
return arr.reduce((a, item) => {
if (Array.isArray(item)) {
return [
...a,
...extractIds(item)
];
}
return [
...a,
item.id
];
}, [])
}
extractIds([{id: 1}, [{id: 2}], {id: 3}, [{id: 4}, [{id: 5}, [{id: 6}]]]])
这在Python documentation中有明确说明。