目录
Format a number to a fixed width in Python
在 Python 中将数字格式化为固定宽度
使用格式化字符串文字将数字格式化为固定宽度,例如
result = f'{my_int:03d}'
. 格式化字符串文字会将数字格式化为指定的宽度,方法是在数字前面加上必要数量的前导零。
主程序
my_int = 12 # ✅ format integer to fixed width of 3 result = f'{my_int:03d}' print(result) # 👉️ '012' # ✅ format integer to fixed width of 4 result = f'{my_int:04d}' print(result) # 👉️ '0012' # ✅ format integer to fixed width of 3 (with leading spaces) result = f'{my_int:3}' print(repr(result)) # 👉️ ' 12' # ----------------------------------- my_float = 1.234567 # ✅ format float to fixed width of 8 with 3 digits after the decimal result = f'{my_float:8.3f}' print(repr(result)) # 👉️ ' 1.235' # ----------------------------------- # ✅ using str.zfill() result = str(my_int).zfill(3) print(result) # 👉️ '012' result = str(my_int).zfill(4) print(result) # 👉️ '0012'
第一个示例使用格式化字符串文字将数字格式化为固定宽度。
主程序
my_int = 12 result = f'{my_int:03d}' print(result) # 👉️ '012' result = f'{my_int:04d}' print(result) # 👉️ '0012'
第一个 f 字符串将数字格式化为 3 位宽度,第二个 f 字符串将数字格式化为 4 位宽度。
如有必要,添加前导零以将数字格式化为指定宽度。
格式化字符串文字 (f-strings) 让我们通过在字符串前加上
f
.主程序
my_str = 'The number is:' my_int = 5000 result = f'{my_str} {my_int}' print(result) # 👉️ The number is: 5000
确保将表达式括在大括号 –{expression}
中。
如果需要将浮点数格式化为固定宽度,也可以使用格式化字符串文字。
主程序
my_float = 1.234567 # ✅ format float to fixed length of 8 with 3 digits after the decimal result = f'{my_float:8.3f}' print(repr(result)) # 👉️ ' 1.235'
该示例将浮点数格式化为8
小数点后 3 位的宽度。
该字符串用空格向左填充以将浮点数格式化为指定的长度。
使用 str.zfill() 将数字格式化为固定宽度
要将数字格式化为固定宽度:
- 使用
str()
该类将数字转换为字符串。 - 使用该
str.zfill()
方法将字符串格式化为指定的宽度。 - 该
zfill()
方法用数字向左填充字符串0
以使其具有指定的长度。
主程序
my_int = 12 result = str(my_int).zfill(3) print(result) # 👉️ '012' result = str(my_int).zfill(4) print(result) # 👉️ '0012'
str.zfill方法获取字符串
的宽度并用数字向左填充字符串0
以使其具有指定的宽度。
将数字转换12
为字符串给我们一个长度为2
.
3
作为宽度传递给该zfill()
方法意味着字符串将左填充一个0
数字。
该方法通过在符号后插入填充来str.zfill()
处理前导符号前缀(例如+
or )。-
主程序
num = -12 result_1 = str(num).zfill(3) print(result_1) # 👉️ '-12' result_2 = str(num).zfill(4) print(result_2) # 👉️ '-012'
请注意,符号计入字符串的宽度。
如果指定的宽度小于或等于原始字符串的长度,则返回原始字符串。
将浮点数列表格式化为固定宽度
要将浮点数列表格式化为固定宽度:
- 使用列表理解来遍历列表。
- 使用格式化字符串文字将每个浮点数格式化为固定宽度。
- 新列表将包含存储浮点值的字符串,格式化为指定的宽度。
主程序
my_list = [1.23, 2.34, 4.56, 5.67] # 👇️ format each float to fixed length of 5 with 1 decimal place result = [f'{item:5.1f}' for item in my_list] print(result) # 👉️ [' 1.2', ' 2.3', ' 4.6', ' 5.7']
我们使用列表理解来迭代浮点数列表。
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们使用格式化字符串文字将浮点数格式化为固定长度 5,小数点后一位。
或者,您可以使用for
循环。
要将浮点数列表格式化为固定宽度:
- 声明一个新变量并将其初始化为一个空列表。
- 使用
for
循环遍历浮点数列表。 - 将每个浮点数格式化为固定宽度并将结果附加到新列表。
主程序
my_list = [1.23, 2.34, 4.56, 5.67] new_list = [] for item in my_list: new_list.append(f'{item:5.1f}') # 👇️ format each float in the list to fixed width of 5 with 1 decimal print(new_list) # ️ 👉️ [' 1.2', ' 2.3', ' 4.6', ' 5.7']
我们使用for
循环遍历浮点数列表。
在每次迭代中,我们将当前数字格式化为固定长度 5,小数点后一位,并将结果附加到新列表中。