与えられた２つの時間の差を１時間単位で返す関数を作りたい


以下のような２つの時間 (start, end) が与えられた時, その時間の差分は3時間です。

[code]

    import datetime
    
    start = datetime(2021, 1, 1, 1, 0)
    end = datetime(2021, 1, 1, 4, 0)
    
[/code]

これを利用して以下のような関数を作りたいのですが, 調べても解決策がないため質問させていただきます。

[code]

    def INPUT(start,end):
        #ここの処理がわからない
    
    #欲しい結果: startとendの間の時間を返す関数を作りたい
    INPUT(start,end) --> [2021-01-01 01:00:00, 2021-01-01 02:00:00, 2021-01-01 03:00:00, 2021-01-01 04:00:00]
    
[/code]

ここでstart,endは必ず時間ごとに区切りがついているものとします。  
ご教授お願いします。



[code]

    from datetime import datetime, timedelta
    
    def INPUT(start, end):
        return [start + timedelta(hours=i) for i in range((end - start).seconds // 3600 + 1)]
    
    if __name__ == '__main__':
        start = datetime(2021, 1, 1, 1, 0)
        end = datetime(2021, 1, 1, 4, 0)
    
        ret = INPUT(start,end)
        print([d.strftime("%F %T") for d in ret])
    
    #
    ['2021-01-01 01:00:00', '2021-01-01 02:00:00', '2021-01-01 03:00:00', '2021-01-01 04:00:00']
    
[/code]

