2016-12-06 8 views
1

Python文字列にはzfillというメソッドがあり、左に0の数値文字列を埋め込むことができます。Pythonで数字の文字列を右にゼロで埋め込む方法は?

In : str(190).zfill(8) 
Out: '00000190' 

どのようにパッドを右側に置くことができますか?

+0

常に文字列を整数に変換し、10 **(num-length)を掛けて文字列に変換することができます。 – Douglas

答えて

2

ヒント:文字列が二度反転させることができます。

In : acc = '991000' 

In : acc[::-1].zfill(9)[::-1] 
Out: '991000000' 

あるいはそれ以上に簡単:zfillメソッドを使用する前と後の

In : acc.ljust(9, '0') 
Out: '991000000' 
2

代わりに、よりポータブルな[1]と効率的な[2]の代替として、実際にはstr.ljust

In [2]: '190'.ljust(8, '0') 
Out[2]: '19000000' 

In [3]: str.ljust? 
Docstring: 
S.ljust(width[, fillchar]) -> str 

Return S left-justified in a Unicode string of length width. Padding is 
done using the specified fill character (default is a space). 
Type:  method_descriptor 

[1]古いPythonバージョンで[1]形式が存在しません。 Python 3.0(PEP 3101を参照)とPython 2.6以降にフォーマット指定子が追加されました。

[2]逆に2回の操作は高価です。

+0

[2]と...ダブルリバースが遅いのが正しいのですか? – yucer

+0

はい、ダブルリバースは遅くなります。 [2]句にはタイプミスがあります。私は*高価な*操作ではなく、*拡張*であることを意味しました。私はそれを修正します。 –

関連する問題