У меня есть серия случайных чисел.Я хочу выбрать число (скажем, X), а затем найти и написать числа больше, чем X, в порядке возрастания.Я использую Python и NumPy.
ПРИМЕР:
Series of random numbers:
4, 8, 5, 9, 3, 11, 17, 19, 9, 15, 16
X=4, Then:
4, 8, 9, 11, 17, 19
X=8, Then:
8, 9, 11, 17, 19
X=3, Then:
3, 11, 17, 19
Обратите внимание, что когда мы выбираем X, мы хотим поставить X в начале восходящего ряда, что означает, чтоcount должен начинаться с X.
Также обратите внимание, что мы не хотим сортировать числа с точки зрения их положения.Нет изменения позиции в числах.Только чтение и запись чисел в порядке возрастания.Следующие числа в последовательности, которые меньше X, следует игнорировать.Спасибо.
РЕДАКТИРОВАТЬ:
def get_elements(get_from,get_by):
return [ (get_from[i], i ) for i in range(len(get_from)) if get_by[i] == 0 ]
def ordered_position():
ordered_lst = [0] *len(data_arr)
new_val = 1
while True:
print(new_val)
ge = get_elements(data_arr,ordered_lst)
if new_val >= len(data_arr) or not ge: break
first_val, idx_fist_val = ge.pop(0)
ordered_lst[idx_fist_val] = (first_val,new_val)
for item, idx in ge:
if data_arr[idx] >= first_val:
ordered_lst[idx] = (first_val,new_val)
first_val = item
new_val += 1
return ordered_lst