#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']