什么是python相当于perl“a”..“azc”

什么是python相当于perl“a”..“azc”,第1张

概述在perl中,要获取从“a”到“azc”的所有字符串的列表,要做的只是使用范围运算符: perl -le 'print "a".."azc"' 我想要的是一个字符串列表: ["a", "b", ..., "z", "aa", ..., "az" ,"ba", ..., "azc"] 我想我可以使用ord和chr,一遍又一遍地循环,这很容易得到“a”到“z”,例如: >>> [chr(c) for 在perl中,要获取从“a”到“azc”的所有字符串的列表,要做的只是使用范围运算符:
perl -le 'print "a".."azc"'

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

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

我想我可以使用ord和chr,一遍又一遍地循环,这很容易得到“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_lowercasefrom itertools import productdef 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”..“azc”全部内容,希望文章能够帮你解决什么是python相当于perl“a”..“azc”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存