Как максимально быстро получить определенную последовательность чисел (все числа дважды, кроме первого и последнего) с пPython

Программы на Python
Anonymous
Как максимально быстро получить определенную последовательность чисел (все числа дважды, кроме первого и последнего) с п

Сообщение Anonymous »

Зная конечное число (например, 5), я хотел бы создать массив, содержащий следующую последовательность:
[0,1,1,2,2,3,3 ,4,4,5]
Это означает, что список должен содержать все числа, повторяющиеся дважды, кроме первого и последнего.
Вот это код, который я использую для этого:

Код: Выделить всё

import numpy as np

# final number
last = 35
# first sequence
sa = np.arange(0,last,1)
# second sequence (shifted by 1 unit)
sb = np.arange (1,last+1,1)
# concatenation and flattening
sequence = np.stack((sa, sb), axis=1).ravel()
# view the result
print(sequence)

Как вы думаете, существует ли более прямой и/или эффективный способ достичь того же результата?


Подробнее здесь: https://stackoverflow.com/questions/786 ... bers-twice

Вернуться в «Python»