将count更改为字母数组,python

将count更改为字母数组,python,python,Python,我正努力想把一个想法放到python脚本中。我甚至不知道如何问最合适的问题,因为我一直在网上冲浪,试图找到我想要的东西,但运气不好 基本上,我有一个脚本可以进行简单的计算: divider = int(math.ceil(df.scale / 3000)) 这是因为我希望“除法器”返回值除以3000,并且总是向上取整。我想用这个值来帮助我回信 所以,它是这样的: 如果1返回,那么我希望a返回'a' 如果2返回,那么我想创建'A','B' 如果3返回,那么我想创建'A','B','C' 等等 我

我正努力想把一个想法放到python脚本中。我甚至不知道如何问最合适的问题,因为我一直在网上冲浪,试图找到我想要的东西,但运气不好

基本上,我有一个脚本可以进行简单的计算:

divider = int(math.ceil(df.scale / 3000))
这是因为我希望“除法器”返回值除以3000,并且总是向上取整。我想用这个值来帮助我回信

所以,它是这样的:

如果1返回,那么我希望a返回'a' 如果2返回,那么我想创建'A','B' 如果3返回,那么我想创建'A','B','C' 等等

我的最终结果是,我想保存一些文件。”“分隔符”将确定我要保存的文件数量,然后每个文件将递归地用其中的字母命名(即FileA、FileB、FileC…)


好的,我知道我的问题不是很清楚,但我在逻辑上挣扎,所以如果你需要澄清,请告诉我。

你是说:

for i in range(int(math.ceil(df.scale / 3000))):
  # i will contain 0, 1, 2, ...
  # letter will contain 'A', 'B', 'C', ...
  letter = chr(ord('A') + i)
或者,如果您需要实际列表:

[chr(ord('A') + i) for i in range(int(math.ceil(df.scale / 3000)))]
您还可以用于大写字母列表,并根据需要对其进行切片:

from string import ascii_uppercase

print list(ascii_uppercase)[:int(math.ceil(df.scale / 3000))]

因为对我来说这是一天的结束,这里有另一种方法可以概括为26个以上的文件,电子表格列名样式:

import string, itertools

def name_generator(min_length=1, alphabet=string.ascii_uppercase):
    for length in itertools.count(min_length):
        for chars in itertools.product(alphabet, repeat=length):
            yield ''.join(chars)

def get_names(n):
    return list(itertools.islice(name_generator(), 0, n))

>>> get_names(1)
['A']
>>> get_names(3)
['A', 'B', 'C']
>>> get_names(30)
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD']

谢谢DSM。我喜欢定义函数的方法。当我试图计算我的最终结果时,我曾想过使用一个,但我仍然可能这样做。谢谢你解释我的胡言乱语的问题,并提出了确切的我的想法!