问题描述
我是Python的新手,来自Java和C.我如何增加一个char?在Java或C中,char和int实际上是可以互换的,在某些循环中,对我来说,能够增加char和索引数组是非常有用的。
I'm new to Python, coming from Java and C. How can I increment a char? In Java or C, chars and ints are practically interchangeable, and in certain loops, it's very useful to me to be able to do increment chars, and index arrays by chars.
我如何在Python中做到这一点?这是足够糟糕,没有一个传统的(;;)looper - 是否有任何方式我可以实现我想实现,而不必重新思考我的整个战略?
How can I do this in Python? It's bad enough not having a traditional for(;;) looper - is there any way I can achieve what I want to achieve without having to rethink my entire strategy?
任何帮助欣赏。
推荐答案
在Python 2.x中,只需使用 ord
和 chr
功能:
In Python 2.x, just use the ord
and chr
functions:
>>> ord('c')
99
>>> ord('c') + 1
100
>>> chr(ord('c') + 1)
'd'
>>>
Python 3.x使它更有条理和有趣,因为它清楚区分字节和unicode。默认情况下,string是unicode,所以上面的工作( ord
接收Unicode字符, chr
生成它们) 。
Python 3.x makes this more organized and interesting, due to its clear distinction between bytes and unicode. By default, a "string" is unicode, so the above works (ord
receives Unicode chars and chr
produces them).
但是如果你对字节感兴趣(比如处理一些二进制数据流),事情会更简单:
But if you're interested in bytes (such as for processing some binary data stream), things are even simpler:
>>> bstr = b'abc'
>>> bstr[0]
97
>>> bytes([97, 98, 99])
b'abc'
>>> bytes([bstr[0] + 1, 98, 99])
b'bbc'
这篇关于Python:我如何增加一个字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!