首页 > 解决方案 > python中的连续字母列表并获取它的每个值

问题描述

我几乎有同样的问题: 如何制作一个连续的字母列表 python(从 az 然后从 aa、ab、ac 等)

但是,我在 gui 中做一个列表,比如 excel,垂直标题应该是字母 ...aa,ab,ac....dg,dh,di... 要做到这一点,我必须声明每个地方在我的名单上的某封信。产量可能是不可能的。

我的意思是,让我说,我有 100 个细胞,我想以不同的方式命名它们。单元格 1 应为“A”,单元格 2 应为“B”……单元格 27 应为“AA”,依此类推。您可能从excel中知道它。我可以手动完成,但这需要很多时间。

好吧,我尝试在下面使用这段代码,但没有成功。我知道某处应该有一个循环,但我不知道在哪里。

from string import ascii_lowercase
import itertools

def iter_all_strings():
    for size in itertools.count(1):
        for s in itertools.product(ascii_lowercase, repeat=size):
            yield "".join(s)

for s in iter_all_strings():
    print(s)
    if s == 'bb':
        break

范围:“for s in iter_all_strings():”正在计数直到中断。我想说这里应该是我的细胞迭代循环。只是没有地方。

标签: pythonexcellistasciialphabet

解决方案


另一种选择,如果您想更深入地研究(最多创建约 18,000 列):

from string import ascii_lowercase

letters = list(ascii_lowercase)
num_cols = 100

excel_cols = []
for i in range(0, num_cols - 1):
    n = i//26
    m = n//26
    i-=n*26
    n-=m*26
    col = letters[m-1]+letters[n-1]+letters[i] if m>0 else letters[n-1]+letters[i] if n>0 else letters[i]
    excel_cols.append(col)

推荐阅读