Pythonクックブック読み始めた

キャラクタとその文字コード値を相互変換

組み込み関数ordとchrを使えばできる

>>> print ord('a')   #'a'を文字コードに変換
97
>>> print chr(97)    #文字コードをキャラクタに
a

ordやchrの引数1は長さ1のUnicode文字列。
"Hello world!!"という文字列を一回で文字コードに変換するには・・・・

>>> [ord(x)for x in "Hello world!!"]
[72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33, 33]
>>> map((lambda x:ord(x)),list("Hello world!!"))
[72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 33, 33]

こんな方法が出来るかな。プログラムの速度とか気にしたことあまりないけど、どんな方法が早いのか気になる。



文字列を左右または中央揃えに整形する

文字列オブジェクトのメソッドljust,rjust,venterを使えば出来る。

>>>print'|','python'.ljust(20),'|','python'.rjust(20),'|','python'.center(20),'|'
| python               |               python |        python        |



文字列両端のスペースを刈り込む

文字列オブジェクトのlstrip,rstrip,stripを使う。

>>> a = "   python  "
>>> print '|',a.lstrip(),'|',a.rstrip(),'|',a.strip(),'|'
| python   |    python | python |