簡體   English   中英

類型錯誤“列表索引必須是整數或切片,而不是元組”(第6行)

[英]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]當然會返回列表的第一個元素。


這不是引起錯誤,但是請注意,使用大寫字母命名變量是錯誤的約定。 XY應該重命名為xy以使其與普遍接受的變量和函數命名約定一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM