Python Cookbook学习记录 ch3_3/4_2013/10/29
3.3 计算日期之间的时段
给定两个日期,需要计算两个日期之间隔了几周
感觉没有必要使用文中提到的dateutil模块,自己写了一段:
>>> def totaltimer(times): td = datetime.timedelta(0) duration = sum([datetime.timedelta(minutes=x,seconds=y) for x,y in times],td) allseconds = duration.seconds print "The duration is "+str(int(allseconds/60))+"minutes "+str(int(allseconds%60))+"seconds" >>> times1=[(3,23),(5,12),(4,12),(3,45)] >>> totaltimer(times1) The duration is 16minutes 32seconds
3.4 计算歌曲的总播放时间
其实就是通过一个列表,包换N个元祖(分,秒),计算所有元祖对应时间的和,可以通过列表表达式将分和秒取出再付给deltatime方法来得到时间,再通过内建的sum函数将所有时间进行求和。如果对一个对象列表,如timedelta列表,使用内建的sum函数,需要传入第二个参数作为初始化的值,负责默认为整数0,会报错
>>> def totaltimer(times): td = datetime.timedelta(0) duration = sum([datetime.timedelta(minutes=x,seconds=y) for x,y in times],td) allseconds = duration.seconds print "The duration is "+str(int(allseconds/60))+"minutes "+str(int(allseconds%60))+"seconds" >>> times1=[(3,23),(5,12),(4,12),(3,45)] >>> totaltimer(times1) The duration is 16minutes 32seconds
浙公网安备 33010602011771号