我需要一个简单的程序,给定一个字符串,按字母数字顺序(或仅按字母顺序)返回下一个字符串。
f("aaa")="aab"
f("aaZ")="aba"
等等。
其中一个模块中是否已经有此功能?
我认为没有内置函数可以做到这一点。以下应该有效:
def next_string(s):
strip_zs = s.rstrip('z')
if strip_zs:
return strip_zs[:-1] + chr(ord(strip_zs[-1]) + 1) + 'a' * (len(s) - len(strip_zs))
else:
return 'a' * (len(s) + 1)
解释:你发现最后一个字符不是z
,递增它,并将其后面的所有字符替换为a
的。如果整个字符串是z
's,然后返回所有的字符串a
那是一个更长的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)