Есть ли способ добавить переменную в список и отсортировать ее, но сохранить список в том же диапазоне? - PullRequest
0 голосов
/ 21 января 2020

list = [3,3,4,6,7] В моем случае этот список уже будет в порядке. New value = 5 Как мне поставить 5 между 4 и 6, но исключить другие 3, чтобы список был [3,4,5,6,7]? Таким образом, список будет содержать 5 значений. Помощь будет высоко ценится, спасибо!

Ответы [ 3 ]

0 голосов
/ 21 января 2020

Может быть что-то подобное:

new_value=5
list = [3,3,4,6,7] 

#sort the list
list=sort(list)

if new_value<= list[0]:
    #add new value at the beginning of list and remove the last element of list
    list.append(i)
    list=list[:-1]
if new_value>list[0] and new_value<list[-1]:
    #add new value at the beginning of list, re-sort the list and remove the first (or last) element of list
    list.append(i)
    list=sort(list)
    list=list[1:] #remove the first element
    #or to remove the last element
    # list=list[:-1]
if new_value>=list[-1]:
    #add new value at the beginning of list, re-sort the list and remove the first element of list
    list.append(i)
    list=sort(list)
    list=list[1:]
0 голосов
/ 21 января 2020

Я не уверен, когда вы решаете, какое значение выкинуть, это то, что вы ищете? Это всегда вернет вам последние 5 элементов вашего нового списка после сортировки

list = [3,3,4,6,7]

list.append(5)

newList = [item for item in sorted(list)][-5:]

>> [3, 4, 5, 6, 7]
0 голосов
/ 21 января 2020

Вы пытались просто переназначить соответствующие индексы?

lst = [3,3,4,6,7]

lst[1], lst[2]= 4, 5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...