将count更改为字母数组,python
我正努力想把一个想法放到python脚本中。我甚至不知道如何问最合适的问题,因为我一直在网上冲浪,试图找到我想要的东西,但运气不好 基本上,我有一个脚本可以进行简单的计算:将count更改为字母数组,python,python,Python,我正努力想把一个想法放到python脚本中。我甚至不知道如何问最合适的问题,因为我一直在网上冲浪,试图找到我想要的东西,但运气不好 基本上,我有一个脚本可以进行简单的计算: divider = int(math.ceil(df.scale / 3000)) 这是因为我希望“除法器”返回值除以3000,并且总是向上取整。我想用这个值来帮助我回信 所以,它是这样的: 如果1返回,那么我希望a返回'a' 如果2返回,那么我想创建'A','B' 如果3返回,那么我想创建'A','B','C' 等等 我
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。我喜欢定义函数的方法。当我试图计算我的最终结果时,我曾想过使用一个,但我仍然可能这样做。谢谢你解释我的胡言乱语的问题,并提出了确切的我的想法!