Tom*_*m R 98 python increment char
我是Python新手,来自Java和C.如何增加char?在Java或C中,字符和整数实际上是可互换的,在某些循环中,能够通过字符进行增量字符和索引数组非常有用.
我怎么能用Python做到这一点?没有传统的(;;)looper是不够的 - 有什么方法可以实现我想要实现的目标而不必重新考虑我的整个策略?
任何帮助赞赏.
Eli*_*sky 168
在Python 2.x中,只需使用ord和chr函数:
>>> 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)
S.L*_*ott 13
"足够糟糕没有传统的(;;)looper"?什么?
你想做吗?
import string
for c in string.lowercase:
...do something with c...
Run Code Online (Sandbox Code Playgroud)
或者也许你正在使用string.uppercase或string.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