我正在尝试预测撰写邮件模式中的下一个单词,但是我遇到了以上错误:
sequences = list ()
for i in range(1, len(encoded)):
sequence = encoded[i - 1:i + 1]
sequences.append(sequence)
sequence
X, Y = sequences[:,0], sequences[:,1] # error on this line
X = np.expand_dims(X, 1)
Y = np.expand_dims(Y, 1)
答案 0 :(得分:0)
如果序列在sequences[:,0]
中为ndarray
,则可以像numpy
那样进行切片。
但是list
不支持,您可以使用[seq[0] for seq in sequences]
。
答案 1 :(得分:0)
您已经知道,错误是由于以下原因引起的:
X, Y = sequences[:,0], sequences[:,1]
sequences[:,0]
是无效的语法。您可能想做以下几件事:
sequences[:0]
将返回不超过sequences[0]
的所有元素。因此,在这种情况下,这将返回一个空列表。
sequences[0:]
将返回sequences[0]
到列表末尾的所有元素。在这种情况下,它将返回[1, 2, 3]
。
sequences[0]
当然会返回列表的第一个元素。
这不会引起错误,但是请注意,使用大写字母命名变量是错误的约定。 X
和Y
应该重命名为x
和y
,以使其与变量和函数的generally accepted naming conventions保持一致。