与えられた:
a = 1
b = 10
c = 100
2桁未満のすべての数字に先行ゼロを表示する方法を教えてください。
あれは、
01
10
100
Python 2では、次のことができます。
print "%02d" % (1,)
基本的に % はprintf
またはsprintf
のようなものです。
Python 3. +では、同じ振る舞いを次のようにして達成することができます。
print("{:02d}".format(1))
Python 3.6以降の場合、f文字列を使用して同じ動作を実現できます。
print(f"{1:02d}")
str.zfill
を使用できます。
print str(1).zfill(2)
print str(10).zfill(2)
print str(100).zfill(2)
プリント:
01
10
100
print('{:02}'.format(1))
print('{:02}'.format(10))
print('{:02}'.format(100))
プリント:
01
10
100
またはこれ:
print '{0:02d}'.format(1)
x = [1, 10, 100]
for i in x:
print '%02d' % i
結果は次のとおりです。
01
10
100
ドキュメントの% を使った文字列のフォーマットに関する詳細情報を読んでください。
これを行うPythonicの方法:
str(number).rjust(string_width, fill_char)
このように、元の文字列は、その長さがstring_widthより大きい場合、変更されずに返されます。例:
a = [1, 10, 100]
for num in a:
print str(num).rjust(2, '0')
結果:
01
10
100
または別の解決策。
"{:0>2}".format(number)
フォーマット文字列を使う - http://docs.python.org/lib/typesseq-strings.html
例えば:
python -c 'print "%(num)02d" % {"num":5}'
width = 5
num = 3
formatted = (width - len(str(num))) * "0" + str(num)
print formatted
これが私のやり方です。
str(1).zfill(len(str(total)))
基本的にzfillは追加したい先行ゼロの数を取るので、最大の数をとり、それを文字列に変換して長さを取得するのは簡単です。
Python 3.6.5(デフォルト、2018年5月11日、04:00:52) [GCC 8.1.0] linux上 「help」、「copyright」、「」と入力します。より多くの情報のための「または」免許証。[.____。>>>合計= 100 [.____。>>> print(str(1).zfill(len(str(total))))[.____ .001 001 >>>合計= 1000 >>>印刷(str(1).zfill(len(str(total)))) 0001 ] >>>合計= 10000 >>>印刷(str(1).zfill(len(str(合計))))[.____。00001 >>>
つかいます:
'00'[len(str(i)):] + str(i)
あるいはmath
モジュールでは:
import math
'00'[math.ceil(math.log(i, 10)):] + str(i)
df ['Col1'] = df ['Col1']。apply(lambda x: '{0:0> 5}'。format(x))(5は総桁数です)
私はこのリンクを使用しました: http://www.datasciencemadesimple.com/add-leading-preceding-zeros-python/
!/ usr/bin/env python3
著作権2009-2017 BHG http://bw.org/ /
x = 5
while (x <= 15):
a = str("{:04}".format(x))
print(a)
x = x + 1;
s=1
s="%02d"%s
print(s)
結果は01になります
あなたのヒントに基づいて、私は私の作業機能をさせてください。ありがとうございました。
def number2binlist(number, leading = 8):
#Convert Binary to 0/1 list array with leading zeros, default 8
bin2dec = int(str(bin(number))[2:])
theformat = "{:0"+str(leading)+"d}"
dec2str = list(theformat.format(bin2dec))
output = [int(z) for z in dec2str]
output.reverse()
return output