Ich versuche, den folgenden Code auszuführen, aber es gab einen Fehler. Der folgende Code wurde für Python3 mit Spyder ausgeführt.Bitten um nicht unterstützten Operandentyp (en) für +: 'Bereich' und 'Liste'
def create_batches(data_size, batch_size, shuffle=True):
"""create index by batches."""
batches = []
ids = range(data_size)
if shuffle:
random.shuffle(ids)
for i in range(data_size // batch_size):
start = i * batch_size
end = (i + 1) * batch_size
batches.append(ids[start:end])
# the batch of which the length is less than batch_size
rest = data_size % batch_size
if rest > 0:
batches.append(ids[-rest:] + [-1] * (batch_size - rest)) # -1 as padding
return batches
Die errror war:
TypeError: unsupported operand type(s) for +: 'range' and 'list'
Wer weiß, wie dieses Problem zu lösen?
Der Fehler, den Sie erhalten, indem Sie diesen Code ausführen, ist: 'TypeError: 'Bereich' Objekt unterstützt keine Artikelzuweisung'. Fragen Sie sich, wo Sie bekommen 'TypeError: nicht unterstützte Operandentyp (en) für +: 'range' und 'list''? –
In Zeile 3: ids = range (data_size) –
Nein, hast du nicht! Sie erhalten einen Fehler in dieser Zeile: 'random.shuffle (ids)' –