我怎样才能创建一个循环,给我一个名字以递增的数字顺序排列的列表?

2024-10-02 16:27:09 发布

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

我需要一个密码

bin1= []
bin2= []
...
...
bin(Numbins)= []

以下是我的尝试:

所以在我的代码前面我创建了PriceDiffList和DataList。 这是我遇到麻烦的代码部分

Numbins = (1/4)* len(DataList)

print(Numbins)

a1 = Numbins % len(PriceDiffList)

print(a1)

for i in range(1, a1):

    for 'n' in range (1, numbins):

        bin'n' = PriceDiffList[[(i-1)*Numbins] : [i*Numbins]]

        bin'n + 1' = bin'n'

        print (bin'n')

但这行不通。以下是错误消息:

File "<ipython-input-16-1c0c8c3e71aa>", line 41
    bin'n' = PriceDiffList[[(i-1)*Numbins] : [i*Numbins]]
         ^
SyntaxError: invalid syntax

还有其他想法吗?我可能会使用zip或append,但我不确定如何正确地写出这个。你知道吗


Tags: 代码in密码forlenbina1range
2条回答

如果您真的想要这样的变量名,就必须使用execeval。但是,我建议不要这样做,因为eval是邪恶的:

for n in range (1, numbins):
    exec('bin'+str(n)+' = PriceDiffList[[(i-1)*Numbins] : [i*Numbins]]')
    exec('bin'+str(n + 1)+' = bin'+str(n))
    print eval('bin'+str(n))

这应该会有帮助。。你知道吗

from collections import  defaultdict
some_dict=defaultdict(list)

    for n in range (1, numbins):
        some_d["bin"+str(n)] = PriceDiffList[[(i-1)*Numbins] : [i*Numbins]]

        some_d["bin"+str(n+1)]= some_d["bin"+str(n)]

    print (some_d["bin"+str(n)])

相关问题 更多 >