Seb*_*Seb 12 python excel enumerate
我想为类似于excel工作表的应用程序制作一个按字母顺序排列的列表.
用户将输入多个单元格,我想生成列表.例如,用户需要54个单元格.然后我会生成
'a','b','c',...,'z','aa','ab','ac',...,'az','ba','bb'
我可以从[ref]生成列表
from string import ascii_lowercase
L = list(ascii_lowercase)
Run Code Online (Sandbox Code Playgroud)
我如何将它拼接在一起?这里有一个类似的PHP问题.有人有python等价吗?
Kev*_*vin 27
使用itertools.product.
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
Run Code Online (Sandbox Code Playgroud)
结果:
a
b
c
d
e
...
y
z
aa
ab
ac
...
ay
az
ba
bb
Run Code Online (Sandbox Code Playgroud)
这具有超越两个字母组合的额外好处.如果你需要一百万个字符串,它会愉快地给你三个,四个和五个字母串.
奖金样式提示:如果你不喜欢break在底部循环中有明确的内部,你可以使用islice它来自行终止循环:
for s in itertools.islice(iter_all_strings(), 54):
print s
Run Code Online (Sandbox Code Playgroud)