datetime.timedelta對象代表兩個時間之間的時間差,兩個date或datetime對象相減就可以返回一個timedelta對象。
Python中datetime模塊中的timedelta就可以很輕松給出答案。
函數原型:
class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
從構造函數的定義中可以看出,所有參數都是可選的,並且默認都是0。參數的值可以是整數,浮點數,正數或負數。timedelta也有自己的一些屬性和方法,可以通過dir(datetime.timedelta)查看。針對時間存儲,timedelta內部只能存儲days,seconds,microseconds,其他參數的值會自動按如下規則進行轉換:
1 millisecond(毫秒)轉換成 1000 microseconds(微秒)
1 minute 轉換成 60 seconds
1 hour 轉換成 3600 seconds
1 week轉換成 7 days
例如兩個日期相隔多少小時用:
hour=int(delta.seconds/60/60) #delta為時間相減的值
zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b) # 打包為元組的列表
[(1, 4), (2, 5), (3, 6)]zip(a,c) # 元素個數與最短的列表一致
[(1, 4), (2, 5), (3, 6)]zip(zipped) # 與 zip 相反,zipped 可理解為解壓,返回二維矩陣式
[(1, 2, 3), (4, 5, 6)]
