Având în vedere:
a = 1
b = 10
c = 100
Cum pot afișa un zero pentru toate numerele cu mai puțin de două cifre?
Asta este,
01
10
100
În Python 2 puteți face:
print "%02d" % (1,)
Practic, % e ca printf
sau sprintf
.
Pentru Python 3.+ același comportament poate fi realizat cu:
print("{:02d}".format(1))
Pentru Python 3.6+ același comportament poate fi realizat cu f-siruri de caractere:
print(f"{1:02d}")
În Python >= 3.6, puteți face acest lucru succint cu noul f-siruri de caractere care au fost introduse prin utilizarea:
f'{val:02}'
care imprimă variabila cu numele "val", cu o umple
valoarea de " 0 " și un lățime
de 2
.
Pentru anumite exemplu, puteți face acest lucru frumos intr-o bucla:
a, b, c = 1, 10, 100
for val in [a, b, c]:
print(f'{val:02}')
care imprimă:
01
10
100
Pentru mai multe informații despre f-siruri de caractere, să ia o privire la PEP 498 în cazul în care acestea au fost introduse.
La Pythonic mod de a face acest lucru:
str(number).rjust(string_width, fill_char)
În acest fel, șirul inițial este returnat neschimbat dacă lungimea sa este mai mare decât string_width. Exemplu:
a = [1, 10, 100]
for num in a:
print str(num).rjust(2, '0')
Rezultate:
01
10
100
Utilizați un format string - http://docs.python.org/lib/typesseq-strings.html
De exemplu:
python -c 'print "%(num)02d" % {"num":5}'
Acest lucru este cum am face-o:
str(1).zfill(len(str(total)))
Practic zfill nevoie de numărul de zerouri inițiale doriți să adăugați, deci's ușor de a lua cel mai mare număr, transforma într-un șir și a obține lungimea, astfel:
Python 3.6.5 (implicit, 11 2018, 04:00:52) [GCC 8.1.0] pe linux Tip "ajutor", "autor", "credite" sau "licență" pentru mai multe informații. >>> total = 100 >>> print(str(1).zfill(len(str(total)))) 001 >>> total = 1000 >>> print(str(1).zfill(len(str(total)))) 0001 >>> total = 10000 >>> print(str(1).zfill(len(str(total)))) 00001 >>>
df['Col1']=df['Col1'].aplica(lambda x: '{0:0>5}'.format(x)) (5 este numărul total de cifre)
Am folosit acest link: http://www.datasciencemadesimple.com/add-leading-preceding-zeros-python/