gpt4 book ai didi

具有动态命名输出的 Python 循环

转载 作者:太空狗 更新时间:2023-10-30 01:25:10 24 4
gpt4 key购买 nike

我正在研究看似简单的事情,但我只能找到复杂的答案。

我正在对生成多个数据帧的函数“BT”进行一些迭代。我想直接将“迭代”结果作为我的函数的输出,只是通过它们的名称来区分它们。

我希望 i 从 1 到 10 不等,并动态标记我的输出数据帧,以便我可以知道它们对应于哪个“i”。理想的代码如下:)

 for i in range(10):
start = dt.datetime(2017-i,12,31)
'model_'%i, 'variation_'%i, 'rank_'%i, 'correl_'%i = BT(df_1, df_2)

我知道我可以用字典获得类似的结果,但是有没有更快的方法,接近上面显示的方法?

最佳答案

不完全是您所要求的,但您通常会在这种情况下使用 listnamedtuple:

from collections import namedtuple

MyData = namedtuple("MyData", ["model", "variation", "rank", "correl"])

data = []

for i in range(10):
start = dt.datetime(2017-i,12,31)
data.append(MyData(*BT(df_1, df_2)))

# e.g. access to single df
data[1].variation

另一种方法是生成单独的项目列表(这会改变您以后访问它们的方式):

data = []

for i in range(10):
start = dt.datetime(2017-i,12,31)
data.append(BT(df_1, df_2))
model, variation, rank, correl = zip(*data)

# e.g. access to single df
variation[1]

代码中可能有错误,因为我不知道 BT 函数的作用,但我希望这个答案仍然有帮助。

关于具有动态命名输出的 Python 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51306626/

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