用字母而不是数字枚举



python中有没有一种方法可以执行与enumerate()相同的功能,但使用字母?

例如

x = ['block', 'cheese']
for i, word in enumerate(x):
print((i, word))

将产生

(1, 'block')
(2, 'cheese')

有没有一种简单的方法来制作这个?

('A', 'block')
('B', 'cheese')

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

import string
x = ['block', 'cheese']
for i, word in zip(string.ascii_uppercase, x):
print((i, word))

输出

('A', 'block')
('B', 'cheese')

不,这是不可能的。

但也许string.ascii_lowercase可以帮助你

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

使用生成器可以相对容易地模拟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

最新更新