分単位の経過時間のリストがあり、それらを週、日、時間、分の文字列として再フォーマットしようとしています。
たとえば、7,480 分 = 3 週間と 4 時間 40 分です。
フォーマットを次のようにしたい:'3w4h40m'
divmod分を週、日、時間、分に分割して文字列を返す関数を作成しました。
def formattime(time):
tl = [divmod(divmod(divmod(time,60)[0],8)[0],5)[0],divmod(divmod(divmod(time,60)[0],8)[0],5)[1],divmod(divmod(time,60)[0],8)[1],divmod(time,60)[1]]
timestring = str(tl[0])+'w'+str(tl[1])+'d'+str(tl[2])+'h'+str(tl[3])+'m'
return timestring
ただし、数値がゼロの場合、週、日、時間、または分の数値を返したくありません。
>>> formattime(7480)
'3w0d4h40m'
Pythonic で簡単に戻る方法はあり'3w4h40m'ますか?