为了账号安全,请及时绑定邮箱和手机立即绑定

如何将零添加到一位数(时间)?

如何将零添加到一位数(时间)?

潇湘沐 2022-06-22 17:13:29
我有用冒号分隔的数字列表。如果数字是单一的,我需要添加零。例如nums = ["10:30", "9:30", "11:0"]我已经看到了一些使用建议,zfill()但我不知道如何使用它。我需要的: nums = ["10:30", "09:30", "11:00"]
查看完整描述

4 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

您可以使用字符串格式将零填充到字符串,例如填充到左侧:


>>> nums = ['10:30', '9:30', '11:0']

>>> ['{:0>2}:{:0>2}'.format(*n.split(':')) for n in nums]

['10:30', '09:30', '11:00']

或者,将字符串转换为数字:


>>> ['{:02d}:{:02d}'.format(*map(int, n.split(':'))) for n in nums]

['10:30', '09:30', '11:00']


查看完整回答
反对 回复 2022-06-22
?
MM们

TA贡献1886条经验 获得超2个赞

一个解决方案倾向于这些看起来很像日期的事实可能是......


设置您的列表


nums = ["10:30", "9:30", "11:0"]

遍历列表转换,获取时间并删除(技术术语)最后 3 个字符


for item in nums:

    print(str(datetime.strptime(item, '%H:%M').time())[:-3])

打印输出


10:30

09:30

11:00


查看完整回答
反对 回复 2022-06-22
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

如果数字是单一的,我需要加零


使用列表理解


nums = ["10:30", "9:30", "11:0"]


nums_added = [ i + "0" if len(i.split(":")[1]) == 1 else i for i in nums]


print(nums_added)

输出:


['10:30', '9:30', '11:00']


查看完整回答
反对 回复 2022-06-22
?
茅侃侃

TA贡献1842条经验 获得超22个赞

这是一个利用zfill&ljust


nums = ["10:30", "9:30", "11:0"]


fixed = []

for t in nums:

    x, y = t.split(':')

    fixed.append(x.zfill(2) + ':' + y.ljust(2, '0'))


print(fixed)


查看完整回答
反对 回复 2022-06-22
  • 4 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号