Riepilogo e domanda del problema
Sto cercando di esaminare alcuni dei dati all'interno di un oggetto che possono essere enumerati ma non indicizzati. Sono ancora una novità per Python, ma non capisco come sia possibile.
Se riesci a enumerarlo, perché non riesci ad accedere all'indice allo stesso modo dell'enumerazione? E se no, c'è un modo per accedere agli oggetti individualmente?
L'esempio reale
import tensorflow_datasets as tfds
train_validation_split = tfds.Split.TRAIN.subsplit([6, 4])
(train_data, validation_data), test_data = tfds.load(
name="imdb_reviews",
split=(train_validation_split, tfds.Split.TEST),
as_supervised=True)
Prendi un sottoinsieme selezionato del set di dati
foo = train_data.take(5)
Io posso iterare foo
con enumerate:
[In] for i, x in enumerate(foo):
print(i)
che genera l'output previsto:
0
1
2
3
4
Ma poi, quando provo ad indicizzarlo, foo[0]
ottengo questo errore:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-44-2acbea6d9862> in <module>
----> 1 foo[0]
TypeError: 'TakeDataset' object does not support indexing