Краткое изложение проблемы и вопрос
Я пытаюсь посмотреть на некоторые данные внутри объекта, которые можно перечислить, но не проиндексировать. Я все еще новичок в Python, но я не понимаю, как это возможно.
Если вы можете перечислить его, почему вы не можете получить доступ к индексу тем же способом, что и перечисление? И если нет, есть ли способ получить доступ к элементам индивидуально?
Фактический пример
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)
Возьмите выделенное подмножество набора данных
foo = train_data.take(5)
Я могу перебрать foo
с перечислю:
[In] for i, x in enumerate(foo):
print(i)
который генерирует ожидаемый результат:
0
1
2
3
4
Но затем, когда я пытаюсь внести в него индекс, foo[0]
я получаю эту ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-44-2acbea6d9862> in <module>
----> 1 foo[0]
TypeError: 'TakeDataset' object does not support indexing