xra*_*alf 3 python list-comprehension generator sequence
你会如何在Python中生成以下字符串序列?
00:00:00
00:00:07
00:00:14
00:00:21
...
00:00:49
00:00:56
00:01:03
Run Code Online (Sandbox Code Playgroud)
这一步是7秒.结束时间约为03:30:+/-
我会使用模块化算法的解决方案(首先1200小时,60小时有分钟,余数是秒,数字应转换为字符串,"一位"字符串应以"0"为前缀).
是否有一些更智能(pythonic)的解决方案,在标准库或列表理解中使用一些辅助生成器?
def yield_times():
from datetime import date, time, datetime, timedelta
start = datetime.combine(date.today(), time(0, 0))
yield start.strftime("%H:%M:%S")
while True:
start += timedelta(seconds=7)
yield start.strftime("%H:%M:%S")
>>> gen = yield_times()
>>> for ii in range(5):
... print gen.next()
...
00:00:00
00:00:07
00:00:14
00:00:21
00:00:28
Run Code Online (Sandbox Code Playgroud)
试试这个
from datetime import datetime, timedelta
now = datetime(2000, 1, 1, 0, 0, 0)
last = datetime(2000, 1, 1, 3, 30, 0)
delta = timedelta(seconds=7)
times = []
while now < last:
times.append(now.strftime('%H:%M:%S'))
now += delta
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4921 次 |
| 最近记录: |