Итак, все знают, что я могу получить список чисел с диапазоном
вот так:
>>> range(5)
[0, 1, 2, 3, 4]
И если я хочу, скажем, 3 копии каждого числа, я могу использование:
>>> range(5)*3
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
Но есть ли способ использовать диапазон
, чтобы вместо этого повторять такие копии?
[0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]
Есть ли быстрый и элегантный встроенный способ сделать это? sorted (range (5) * 3)
имеет ненужную сложность n * log (n), а [x // 3 для x в диапазоне (3 * 5)]
работает, но кажется как злоупотребление операцией //
.