[英]Type error ' list indices must be integers or slices, not tuple' (line 6)
我正在嘗試預測撰寫郵件模式中的下一個單詞,但出現上述錯誤:
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)
如果序列是numpy
ndarray
,則可以像sequences[:,0]
那樣切片。
但list
不支持此功能,您可以改為使用[seq[0] for seq in sequences]
。
正如您已經知道的那樣,該錯誤是由於以下原因引起的:
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
以使其與普遍接受的變量和函數命名約定一致。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.