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']
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
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']
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)
添加回答
举报
