python中如何“递增”字符字符串?

4 投票
3 回答
10413 浏览
提问于 2025-04-16 07:03

我知道在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

想了解更多,可以查看 这个链接

14

你可以使用ord和chr这两个函数:

print(chr(ord('a')+1))
# b

关于 ordchr 的更多信息。

撰写回答