以下两个循环构造基本相同。我不知道如何在第一个语法中插入两个变量start = start+2
和end = end+2
。谢谢
第一个结构(列表理解):
start = 1
end = 3
clips = [ImageClip(os.path.join(folder,pic))
.resize(width=w*9.3/16)
.set_start(start)
.set_end(end)
.set_pos(lambda t:(max((402), (int(w-3*w*t))), "center"))
for pic in picfiles]
第二个构造(常规循环):
start = 1
end = 3
clips = []
for pic in picfiles:
clips.append(ImageClip(os.path.join(folder,pic))
.resize(width=w*9.3/16)
.margin(left=31, opacity=0)
.set_start(start)
.set_end(end)
.set_pos(lambda t:(max((402), (int(w-3*w*t))), "center")) # move from right to center
)
start = start + 2
end = end + 2
有很多方法可以做到。例如,您可以执行以下操作:
它使用函数enumerate。这里有一个例子说明它的工作原理。你知道吗
但是,在使用这种结构时,您应该非常清楚,因为它有时会导致无法理解的公式。对于您的代码,我认为这是可以的,但当您进行更复杂的计算时,常规循环通常更干净。你知道吗
如果其他值不相关,也可以使用该构造(在示例中,循环指示、开始和停止之间存在简单关系)。你知道吗
你可以定义你想要的开始和停止方式。在您的具体问题中,应该是:
相关问题 更多 >
编程相关推荐