効率良い方法をご紹介します。
それなりに大きなリストを作らないと体感はできないかもですが。
Python
1>>> [n for n in range(1, 6) for _ in range(3)]
2[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
more-itertoolsを使うのも良い選択です。意味的に分かり易く、効率も良いコードが書けます。
Python
1>>> import more_itertools
2>>> [*more_itertools.repeat_each(range(1, 6), n=3)]
3[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
さらに踏み込んで
必要なリスト長が前以て分からないときは次のように処理します。
Python
1import itertools
2import more_itertools
3
4it = more_itertools.repeat_each(itertools.count(start=1), n=3)
itはイテレータです。先頭から順に 1,1,1,2,2,2,3,3,3,... と値を取り出せます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。