如何在后缀列表上迭代以添加到列表中每个变量的末尾?

2024-06-25 23:17:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图做的是优化使用数据帧的当前代码。数据帧遵循类似的命名约定,因此我没有显式地命名它们,而是尝试动态地创建它们,然后对它们进行处理

days = [1, 2, 3, 4, 5]
#1,2,3,4,5 are dataframes
endings = ['_operation1', '_operation2']
suffixedFrames = [x.add_suffix(y) for x, y in zip(days, endings)]
print(suffixedFrames)

问题是,当我运行它时,它只输出两个数据帧,具体地说,1_operation1和1_operation2。如何让它在列表日内为每个数据帧添加后缀


Tags: 数据代码inaddfor动态dayssuffix
1条回答
网友
1楼 · 发布于 2024-06-25 23:17:15

Zip不能按您希望的方式工作,但它创建了一个元组迭代器,其中第i个元组包含您正在使用的2列表的第i个元素,如您所见in the documentation。在您的情况下,如果执行print(list(zip(days, endings))),您将看到:

[(1, '_operation1'), (2, '_operation2')]

为了实现您的目标,您可以执行以下操作:

import itertools
days = [1, 2, 3, 4, 5]
#1,2,3,4,5 are dataframes
endings = ['_operation1', '_operation2']
suffixedFrames = [x.add_suffix(y) for x, y in list(itertools.product(days, endings))]
print(suffixedFrames)

相关问题 更多 >