我正在尝试查看可以枚举但不能索引的对象中的一些数据。我对 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)
Run Code Online (Sandbox Code Playgroud)
选择数据集的一个子集
foo = train_data.take(5)
Run Code Online (Sandbox Code Playgroud)
我可以foo用 enumerate迭代:
[In] for i, x in enumerate(foo):
print(i)
Run Code Online (Sandbox Code Playgroud)
产生预期的输出:
0
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试对其进行索引时,出现foo[0]此错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-44-2acbea6d9862> in <module>
----> 1 foo[0]
TypeError: 'TakeDataset' object does not support indexing
Run Code Online (Sandbox Code Playgroud)