python – 将两个循环合并为一个

我的代码中有三个不同的循环,但我想知道是否有办法将它们中的两个组合在一起只循环一次.我的代码如下:

for x in groups:
    A bunch of code that produces the following...
    frames[x]
    highcs[x]

然后我循环通过下面的两个循环.这些是我想要结合的.

for x, frame in frames.items():
    more unrelated code

for x, highc in highcs.items():

最后两个循环实际上只是使用xlsxwriter创建excel工作簿.第一个循环创建工作簿并将帧[x]中的数据帧输入到工作表中.然后highc返回相同的工作表并添加新的数据帧.

最佳答案 frames和highcs的长度相同,你可以使用zip()一次迭代它们:

for (f,frame), (h, highc) in zip(frames.items(), highcs.items()):
    # do your work here

压缩()

This function returns a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables.The returned list is truncated in length to the length of the shortest argument sequence.

点赞