gpt4 book ai didi

python - 每个循环使用多个项目在 Python 列表中循环

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:57 25 4
gpt4 key购买 nike

所以我正在为一个名为 Abaqus 的程序编写脚本....我有一个数字列表,我需要按以下方式遍历这些数字

listOfSteps = [1, 4, 7, 10, 17, 22, 28, 29, 30, 43, 47, 50]
fileNameCreate = 0

for i in listOfSteps:

session.viewports['Viewport: 1'].odbDisplay.setFrame(step=i, frame=-1)
session.viewports['Viewport: 2'].odbDisplay.setFrame(step=i, frame=-1)
session.viewports['Viewport: 3'].odbDisplay.setFrame(step=i, frame=-1)
session.printOptions.setValues(reduceColors=False)
session.printToFile(fileName='C:/Image'+str(fileNameCreate+1), format=PNG,
canvasObjects=(session.viewports['Viewport: 3'],
session.viewports['Viewport: 2'], session.viewports['Viewport: 1']))

所以我需要第一步使用1,第二步使用4,第三步使用7
然后执行保存文件的代码

然后在10点再次开始循环

任何帮助都会很棒。

最佳答案

假设我正确理解了你的问题,你可以使用迭代器:

listOfSteps = [1, 4, 7, 10, 17, 22, 28, 29, 30, 43, 47, 50]
fileNameCreate = 0

it = iter(listOfSteps)

for a in it:
b = next(it)
c = next(it)

session.viewports['Viewport: 1'].odbDisplay.setFrame(step=a, frame=-1)
session.viewports['Viewport: 2'].odbDisplay.setFrame(step=b, frame=-1)
session.viewports['Viewport: 3'].odbDisplay.setFrame(step=c, frame=-1)

# ...

而且,如果你不介意一点魔法的话:

for a, b, c in zip(*[iter(listOfSteps)]*3):
# ...

The left-to-right evaluation order of the iterables is guaranteed. This makes possible an idiom for clustering a data series into n-length groups using zip(*[iter(s)]*n). ~ Zip Docs

关于python - 每个循环使用多个项目在 Python 列表中循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28562966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com