Резюме проблеми та питання
Я намагаюся розглянути деякі дані всередині об'єкта, які можна перерахувати, але не індексувати. Я все ще новачок пітона, але не розумію, як це можливо.
Якщо ви можете перерахувати, чому ви не можете отримати доступ до індексу таким же чином, як перелічити? А якщо ні, чи є спосіб отримати доступ до предметів індивідуально?
Фактичний приклад
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