猿问

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

我有用冒号分隔的数字列表。如果数字是单一的,我需要添加零。例如nums = ["10:30", "9:30", "11:0"]

我已经看到了一些使用建议,zfill()但我不知道如何使用它。

我需要的: nums = ["10:30", "09:30", "11:00"]


潇湘沐
浏览 214回答 4
4回答

饮歌长啸

您可以使用字符串格式将零填充到字符串,例如填充到左侧:>>> 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']

MM们

一个解决方案倾向于这些看起来很像日期的事实可能是......设置您的列表nums = ["10:30", "9:30", "11:0"]遍历列表转换,获取时间并删除(技术术语)最后 3 个字符for item in nums:    print(str(datetime.strptime(item, '%H:%M').time())[:-3])打印输出10:3009:3011:00

慕桂英546537

如果数字是单一的,我需要加零使用列表理解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']

茅侃侃

这是一个利用zfill&ljustnums = ["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)
随时随地看视频慕课网APP

相关分类

Python
我要回答