web-dev-qa-db-ja.com

in python 1桁の数字を2桁の文字列に変換するにはどうすればよいですか?

だから私が持っていると言う

a = 5

文字列「05」として印刷したい

40
Joe Schmoe

print "%02d"%aはpython 2バリアント

python 3はやや冗長なフォーマットシステムを使用します。

"{0:0=2d}".format(a)

Python2の関連ドキュメントリンクは次のとおりです。 http://docs.python.org/2/library/string.html#format-specification-mini-language

Python3の場合、 http://docs.python.org/3/library/string.html#string-formatting

75
jkerian
a = 5
print '%02d' % a
# output: 05

'%'演算子は、左側の文字列で使用される場合、 文字列のフォーマット 演算子と呼ばれます。 '%d'は、整数を出力するためのフォーマットコードです(値が数値でない場合、タイプエラーが発生します)。 '%2d長さを指定でき、'%02d'を使用して、パディング文字をデフォルトのスペースの代わりに0に設定できます。

18
tux21b
>>> print '{0}'.format('5'.zfill(2))
05

続きを読む こちら

14
user225312
>>> a=["%02d" % x for x in range(24)]
>>> a
['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']
>>> 

それは簡単です

Python3では、次のことができます。

print("%02d" % a)
2
Sarvesh Chitko

Mohommadの答えから分岐:

str_years = [x for x in range(24)]
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

#Or, if you're starting with ints:
int_years = [int(x) for x in str_years]

#Formatted here
form_years = ["%02d" % x for x in int_years]

print(form_years)
#['00', '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23']

0
Alex Schwab
df["col_name"].str.rjust(4,'0')#(length of string,'value') --> ValueXXX --> 0XXX  
df["col_name"].str.ljust(4,'0')#(length of string,'value') --> XXXValue --> XXX0
0
nishant thakkar