python中如何“递增”字符字符串?
我知道在Java中,如果你有一个字符变量,你可以这样做:
char a = 'a'
a = a + 1
System.out.println(a)
这样会打印出'b'。我不知道这个具体的名称是什么,但在Python中有没有类似的方法可以做到呢?
3 个回答
1
上面的解决方案在字符是 z 的时候就不管用了,如果你把它加 1 或 2。
举个例子:如果你把 z 增加一个值(假设这个值是 2 或 3),那么 (chr(ord('z')+incr)) 就不会给你正确的结果,因为 ASCII 值会超出范围。
为了通用起见,你需要这样做:
i = a to z any character
incr = no. of increment
#if letter is lowercase
asci = ord(i)
if (asci >= 97) & (asci <= 122):
asci += incr
# for increment case
if asci > 122 :
asci = asci%122 + 96
# for decrement case
if asci < 97:
asci += 26
print chr(asci)
这样做可以同时处理增加和减少的情况。
对大写字母也可以这样做,只是 ASCII 值会有所不同。
5
作为一种替代方法,
如果你真的需要像你例子中那样遍历字母表,可以使用 string.lowercase
并对它进行循环:
from string import lowercase
for a in lowercase:
print a
想了解更多,可以查看 这个链接