gpt4 book ai didi

python - 相当于 perl "a"的 python 是什么。 ."azc"

转载 作者:太空狗 更新时间:2023-10-29 22:14:21 27 4
gpt4 key购买 nike

在 perl 中,要获得从“a”到“azc”的所有字符串的列表,唯一要做的就是使用范围运算符:

perl -le 'print "a".."azc"'

我想要的是一个字符串列表:

["a", "b", ..., "z", "aa", ..., "az" ,"ba", ..., "azc"]

我想我可以使用 ordchr,一遍又一遍地循环,这很容易得到“a”到“z”,例如:

>>> [chr(c) for c in range(ord("a"), ord("z") + 1)]
['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']

但这里对我的情况来说有点复杂。

感谢您的帮助!

最佳答案

生成器版本:

from string import ascii_lowercase
from itertools import product

def letterrange(last):
for k in range(len(last)):
for x in product(ascii_lowercase, repeat=k+1):
result = ''.join(x)
yield result
if result == last:
return

编辑: @ihightower 在评论中提问:

I have no idea what I should do if I want to print from 'b' to 'azc'.

所以您想从 'a' 以外的内容开始。只需丢弃起始值之前的任何内容:

def letterrange(first, last):
for k in range(len(last)):
for x in product(ascii_lowercase, repeat=k+1):
result = ''.join(x)
if first:
if first != result:
continue
else:
first = None
yield result
if result == last:
return

关于python - 相当于 perl "a"的 python 是什么。 ."azc",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com