Python’da dizeyi sıfırla doldurma

Sayısal dizenin belirli bir uzunluğa sahip olması için, sayısal bir dizeyi solda sıfırlarla doldurmanın en pythonik yolu nedir? str.

İlişkili olduğu konular : how to, nasıl

Sayısal dizenin belirli bir uzunluğa sahip olması için, sayısal bir dizeyi solda sıfırlarla doldurmanın en pythonik yolu nedir?

str.zfill özellikle bunu yapmak için tasarlanmış:

>>> '1'.zfill(4)
'0001'

Bu metodun özellikle sayısal dizeleri işlemek için tasarlandığını unutmayın. Dolayısıyla + ve – işaretlerini dizenin başına taşıyacaktır:

>>> '+1'.zfill(4)
'+001'
>>> '-1'.zfill(4)
'-001'

Yardım fonksiyonunu çağırdığımızda da aşağıdaki açıklamayı göreceğiz:

>>> help(str.zfill)
Help on method_descriptor:

zfill(...)
    S.zfill(width) -> str

    Pad a numeric string S with zeros on the left, to fill a field
    of the specified width. The string S is never truncated.

Biçimlendirme ile dizenin soluna sıfır ekleme

Diğer bir yöntem biçimlendirme formatını kullanmak:

>>> n = 4
>>> print(f'{n:03}') # python >= 3.6
004
>>> print('%03d' % n)
004
>>> print(format(n, '03')) # python >= 2.6
004
>>> print('{0:03d}'.format(n))  # python >= 2.6 + python 3
004
>>> print('{foo:03d}'.format(foo=n))  # python >= 2.6 + python 3
004
>>> print('{:03d}'.format(n))  # python >= 2.7 + python3
004

Dize biçimlendirme belgeleri.


rjust()

string nesnesinin rjust yöntemini kullanarak da aynı işiş yapabiliriz.

Bu örnek 10 karakter uzunluğunda bir dize yapacaktır.

>>> t = 'test'
>>> t.rjust(10, '0')
>>> '000000test'

Performans

Peki performans açısından hangi yöntem daha etkili?

>>> min(timeit.repeat(lambda: '1'.zfill(4)))
0.18824880896136165
>>> min(timeit.repeat(lambda: '1'.rjust(4, '0')))
0.2104538488201797
>>> min(timeit.repeat(lambda: f'{1:04}'))
0.32585487607866526
>>> min(timeit.repeat(lambda: '{:04}'.format(1)))
0.34988890308886766

Görüldüğü gibi zfill() aralarında performans açısından en etkilisi.

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Yazı, Python

Okumaya devam et!

Python’da “open with” ile birden fazla dosyayı nasıl açabiliriz?

Aynı anda birkaç dosya içerisinde değişiklik yapmak istiyoruz.

Python Veri Türlerinde Arama

n eleman içeren yinelenebilir veriler üzerindeki tüm arama algoritmaları O(n) karmaşıklığına sahiptir.

Minimum ve Maksimum Sıralaması

Birkaç değerin minimumunu veya maksimumunu almak için min ve max fonksiyonlarını kullanırız: min(7,2,1,5)#Çıktı: 1max(7,2,1,5)#Çıktı: 7 Bir dizinin Minimum ve Maksimum değerleri Bir dizinin (iterable) minimumunu elde etmek, sıralanmış bir dizinin ilk elemanına erişmeye eşdeğerdir: min([2, 7, 5])#Çıktı: 2sorted([2, 7, 5])[0]#Çıktı: 2 Öte yandan maksimum elde etmek biraz daha karmaşıktır, Çünkü sorted fonksiyonu ile sıralamayı koruruz…

Python’da bir değişken var olup olmadığını nasıl kontrol ederiz?

Bir değişken var olup olmadığını kontrol etmek istiyoruz.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.