На основе условия выполняют повторный ранжирование элементов в списке в python

#python-3.x #loops

#python-3.x #циклы

Вопрос:

у меня есть ранжированный список элементов, как показано ниже :

 ranked_list_1 = ['G','A','M','S','D']
  

мне нужно повторно ранжировать список, как показано ниже

1) Повторно ранжировать как :

 re_ranked_list_1 = ['A','M','D','E','G','S']
  

Логика: ‘G’ и ‘S’ всегда должны находиться на последних 2 позициях, и новый элемент ‘E’ также должен быть помечен в списке непосредственно перед последними 2 позициями.

Ответ №1:

Я думаю, это то, что вы хотите. Это приведет к размещению ‘G’ и ‘S’ в конце в том порядке, в котором они отображаются в списке.

 ordered_list = list()
final_terms = ['E']
for item in ranked_list_1:
    if item in ['G', 'S']:
        final_terms.append(item)
    else:
        ordered_list.append(item)

output_list = ordered_list   final_terms

print(output_list)
>>>['A', 'M', 'D', 'E', 'G', 'S']