Python:如何增加char?

Tom*_*m R 98 python increment char

我是Python新手,来自Java和C.如何增加char?在Java或C中,字符和整数实际上是可互换的,在某些循环中,能够通过字符进行增量字符和索引数组非常有用.

我怎么能用Python做到这一点?没有传统的(;;)looper是不够的 - 有什么方法可以实现我想要实现的目标而不必重新考虑我的整个策略?

任何帮助赞赏.

Eli*_*sky 168

在Python 2.x中,只需使用ordchr函数:

>>> ord('c')
99
>>> ord('c') + 1
100
>>> chr(ord('c') + 1)
'd'
>>> 
Run Code Online (Sandbox Code Playgroud)

由于字节和unicode之间的明显区别,Python 3.x使它更有条理和有趣.默认情况下,"字符串"是unicode,因此上述工作(ord接收Unicode字符并chr生成它们).

但是如果你对字节感兴趣(例如处理一些二进制数据流),事情就更简单了:

>>> bstr = bytes('abc', 'utf-8')
>>> bstr
b'abc'
>>> bstr[0]
97
>>> bytes([97, 98, 99])
b'abc'
>>> bytes([bstr[0] + 1, 98, 99])
b'bbc'
Run Code Online (Sandbox Code Playgroud)

  • @Tom R.不要![过去的日子].当您尝试快速实现某些内容或转换一段代码时,Python的概念和习惯用语似乎只会妨碍您的进步并且几乎不值得学习曲线......请耐心等待!您甚至可能会发现熟练掌握Python将改善您的Java风格(以及C,在较小程度上). (5认同)

S.L*_*ott 13

"足够糟糕没有传统的(;;)looper"?什么?

你想做吗?

import string
for c in string.lowercase:
    ...do something with c...
Run Code Online (Sandbox Code Playgroud)

或者也许你正在使用string.uppercasestring.letters

Python没有,for(;;)因为通常有更好的方法来实现它.它也没有字符数学,因为它也没有必要.


小智 6

检查一下:使用 FOR 循环

for a in range(5):
    x='A'
    val=chr(ord(x) + a)
    print(val)
Run Code Online (Sandbox Code Playgroud)

循环输出:ABCDE