📜  python 向左填充零 - Python (1)

📅  最后修改于: 2023-12-03 14:46:13.520000             🧑  作者: Mango

Python 向左填充零

在 Python 中,我们经常需要将数字或字符串向左填充零,以达到对齐的目的。比如我们要将数字 21 转换为长度为 4 的字符串,那么它就需要向左填充一位零,变为 '0021'。

本文将介绍 Python 中实现向左填充零的几种方法。

方法一:使用字符串格式化

Python 中字符串格式化的替代语法使用了类似于 C 语言中 printf 函数的占位符,比较常用的为 '%' 占位符。

使用字符串的格式化功能,我们可以轻松实现数字或字符串的向左填充零。具体实现方法如下:

n = 21
s = '%04d' % n
print(s)
# 输出:0021

s = 'abc'
s = s.rjust(5, '0')
print(s)
# 输出:00abc

以上代码中,%04d 表示格式化输出一个四位长度的数字,不足的位置用 0 填充。

s.rjust(5, '0') 表示将字符串 s 向右对齐,并在左边用 0 填充,此时字符串 s 的长度为 5。

方法二:使用 str.format()

字符串的 format() 方法也可以用来实现字符串或数字的向左填充零,使用方法如下:

n = 21
s = '{:0>4d}'.format(n)
print(s)
# 输出:0021

s = 'abc'
s = s.rjust(5, '0')
print(s)
# 输出:00abc

以上代码中,{:0>4d} 表示格式化输出一个四位长度的数字,不足的位置用 0 填充。

方法三:使用 zfill() 方法

字符串还有一个内置的方法 zfill(),将原字符串填充到指定长度,不足的位置用 0 填充。具体使用方法如下:

n = 21
s = str(n).zfill(4)
print(s)
# 输出:0021

s = 'abc'
s = s.zfill(5)
print(s)
# 输出:00abc

以上代码中,str(n).zfill(4) 将数字转换为字符串,并将字符串填充到 4 位长度。s.zfill(5) 将字符串 s 填充到 5 位长度,不足的位置用 0 填充。

结语

以上是 Python 中实现向左填充零的几种方法,换句话说就是字符串或数字的对齐处理。在实际开发中,对齐处理是比较常见的需求,以上方法都可满足我们的需要,大家可以根据自己的需求选择适合的方法。