python3にて,例えばN=3, M=4として,

l = [1,1,1,2,2,2,3,3,3,4,4,4]

みたいなリストを作成したいと考えています.
(1がN個, 2がN個, ..., MがN個)

このようなリストを作成する最も短いコードを教えていただきたいです.現在は

l = list(chain.from_iterable([[i]*N for i in range(1, M+1)]))

と書いています.一度間違った階層構造のリストを作ってからflattenしているのが気持ち悪いのですが,これより短く記述するのは難しいでしょうか.