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條經驗 獲得超21個贊
這是一個利用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)
添加回答
舉報