我已经搜索过如何在 python 中执行此操作,但找不到答案。如果你有一个字符串:
>>> value = 'abc'
如何将字符串中的所有字符递增 1?所以我正在寻找的输入是:
>>> value = 'bcd'
我知道我可以使用 ord 和 chr 用一个字符来完成:
>>> value = 'a'
>>> print (chr(ord(value)+1))
>>> b
但是 ord()
和 chr()
只能取一个字符。如果我将上面的相同语句用于一个以上字符的字符串。我会得到错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ord() expected a character, but string of length 3 found
有没有办法做到这一点?
原文由 brazjul 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以将生成器表达式与
''.join()
一起使用,如下所示:生成器遍历字符串中的每个
letter
value
并使用你的问题中建议的chr(ord(letter)+1)
方法将其递增一个。然后它使用''.join()
将生成器中的字母转换回字符串。