如何在python中执行'a'+ 1#=>'b'?

mko*_*mko 4 python string

我正在做一个项目,经常需要此功能

'b' + 1 #=> 'a' and 'b' - 1 #=> 'a'
Run Code Online (Sandbox Code Playgroud)

现在我的解决方案非常繁琐:

str(unichr((ord('b')+ 1))) 
Run Code Online (Sandbox Code Playgroud)

有没有更优雅的方法可以做到这一点?

Mar*_*ers 5

str(unichr(c))可以用 just 替换chr(c)

简化版:

chr(ord('b') + 1)
Run Code Online (Sandbox Code Playgroud)


Ash*_*ary 5

定义自己的功能:

In [103]: def func(c,n):
    return chr(ord(c)+n)
   .....: 

In [105]: func('a',-1)
Out[105]: '`'

In [106]: func('b',-1)
Out[106]: 'a'

In [107]: func('c',2)
Out[107]: 'e'
Run Code Online (Sandbox Code Playgroud)