You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用range函数时为数字左侧补0生成4位字符串?

生成4位补零的数字序列

正确实现方式

  • 用f-string格式化(推荐)
    直接遍历整数范围,对每个数字做4位补零格式化:
# 逐个输出
for num in range(1, 7):
    print(f"{num:04d}")

# 存成列表
time_list = [f"{num:04d}" for num in range(1, 7)]
# 结果:['0001', '0002', '0003', '0004', '0005', '0006']
  • 用str.zfill()方法
    把每个整数转成字符串后,调用zfill(4)补零:
time_list = [str(num).zfill(4) for num in range(1, 7)]

你之前的写法为什么不对

  • range(0001, 0007):Python不支持无前缀的前导零整数(会触发语法错误),而且range生成的是整数,本身不会带前导零格式。
  • range(1,7).zfill(4):zfill()是字符串专属方法,range对象没有这个属性,必须先把每个整数转成字符串再处理。
  • 错误循环写法:正确的循环逻辑是遍历range里的每个元素,而不是直接对range对象调用zfill,正确格式应该是for t in a:再对每个t做格式化处理。

内容的提问来源于stack exchange,提问作者Maya Madajewicz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 07:12:43