1. ホーム
  2. python

[解決済み] charをインクリメントするには?

2022-10-28 20:31:49

質問

JavaとCから来たPythonの新参者ですが、charをインクリメントするにはどうしたらいいですか?JavaやCでは、charsとintsは実質的に互換性があり、特定のループで、charsを増分し、charsによって配列をインデックスできることは、私にとって非常に有用です。

どのように私はPythonでこれを行うことができますか?伝統的な for(;;) ルーパーを持たないのは十分悪いことです。私の戦略全体を再考することなく、私が達成したいことを達成できる方法はありますか?

どのように解決するのですか?

Python 2.xでは、単に ordchr という関数があります。

>>> ord('c')
99
>>> ord('c') + 1
100
>>> chr(ord('c') + 1)
'd'
>>> 

Python 3.xでは、バイトとユニコードの明確な区別のため、これをより整理して興味深いものにします。デフォルトでは、"string" は 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'