迭代器和生成器之间有什么区别?关于何时使用每种情况的一些示例会很有帮助.
例如 - 我有一堂课
class SimpleClass:
def __init__(self,strings):
pass
Run Code Online (Sandbox Code Playgroud)
我可以为此添加一个特殊的方法__list__或其他方法,以便当我这样做时-
a = SimpleClass('hi')
list(a)
Run Code Online (Sandbox Code Playgroud)
将制作一个字符串列表,但使用更多我自己的方法。我的意思是,当我调用list(a)一个列表时,将创建字符串加上我的一些额外字符串到该列表
假设我有以下内容:
image_data_generator = ImageDataGenerator(rescale=1./255)
train_generator = image_data_generator.flow_from_directory(
'my_directory',
target_size=(28, 28),
batch_size=32,
class_mode='categorical'
)
Run Code Online (Sandbox Code Playgroud)
然后 mytrain_generator填充来自 的数据my_directory,其中包含两个子文件夹,将数据分为类0和1.
假设我还有另一个目录that_directory,也将数据拆分为类0和1. 我想train_generator用这个额外的数据来增强我的。
运行train_generator = image_data_generator.flow_from_directory('that_directory', ...)会从 中删除先前的数据my_directory。
有没有办法在DirectoryIterator不改变文件夹结构本身的情况下将两组数据增加或附加到一个生成器或一个像 a 一样操作的对象中?