假设以下代码:
from datetime import datetime
start_time = datetime.now()
end_time = datetime.now()
delta = end_time - start_time
delta_ms = delta.microseconds
简化timedelta对象到分、秒和毫秒的转换的最优雅的方法是什么?你知道吗
我下面的一行需要两次divmod(delta_ms,1000)
的计算,有没有办法把它保持在一行,只需要计算一次?你知道吗
mins,secs,ms = divmod(divmod(delta_ms,1000),60) + (divmod(delta_ms,1000)[1],)
我还有以下两行代码,但只计算divmod(delta_ms,1000)
一次:
unwrap = lambda x: divmod(x[0],60) + (x[1],)
mins,secs,ms = unwrap(divmod(delta_ms,1000))
首先,您在第二个
divmod
中漏掉了一个[0]
:),您可能想改变这一点:回答你的问题,如果你正在寻找优雅的基础上,它占用的行数,比你以上的解决方案将是最。但是,您正在运行
divmod
一个额外的、不必要的时间,这可以在一行中解决(更不优雅,使用;
):或两行:
相关问题 更多 >
编程相关推荐