Python 用字母而不是数字枚举

Python 用字母而不是数字枚举,python,python-3.x,loops,Python,Python 3.x,Loops,python中是否有一种方法可以执行与enumerate相同的函数,但使用字母代替 比如说 x = ['block', 'cheese'] for i, word in enumerate(x): print((i, word)) 会产生 (1, 'block') (2, 'cheese') 有没有一种简单的方法来实现这一点 ('A', 'block') ('B', 'cheese') 不可能 但也许string.ascii_小写字母可以帮助您 import string str

python中是否有一种方法可以执行与enumerate相同的函数,但使用字母代替

比如说

x = ['block', 'cheese']

for i, word in enumerate(x):
    print((i, word))
会产生

(1, 'block')
(2, 'cheese')
有没有一种简单的方法来实现这一点

('A', 'block')
('B', 'cheese')
不可能

但也许string.ascii_小写字母可以帮助您

import string
string.ascii_lowercase
>>>>> 'abcdefghijklmnopqrstuvwxyz'
string.ascii_lowercase[0]
>>>>> a

对于最多26个元素,您可以执行以下操作:

import string

x = ['block', 'cheese']

for i, word in zip(string.ascii_uppercase, x):
    print((i, word))
输出


使用生成器可以相对轻松地模拟Excel的行为:

def mimic_excel():
    for i in range(0, 26):
        yield chr(i + 65)

    i, j = [0, 0]

    for j in range(0, 26):
        for i in range(0, 26):
            yield "{}{}".format(chr(j + 65), chr(i + 65))


for letter in mimic_excel():
    print(letter)
这就产生了

A
B
C
...
ZX
ZY
ZZ

当元素超过26个时会发生什么?@Kingsley-好问题。它的执行方式可能与Excel的执行方式相同,如AA等。
A
B
C
...
ZX
ZY
ZZ