У меня есть список [T20, T5, T10, T1, T2, T8, T16, T17, T9, T4, T12, T13, T18]
Я вычеркнул Т, перебрал целочисленный тип и отсортировал список, чтобы получить это:
sorted_ids = [1, 2, 4, 5, 8, 9, 10, 12, 13, 16, 17, 18, 20]
Я перебираю список и проверяю, находится ли следующий или текущий номер в числовой последовательности. Если нет, я хочу вставить "V" в его положение.
Таким образом, в конечном итоге список должен выглядеть следующим образом: [1, 2, V, 4, 5, V, V, 8, 9, 10, V, 12, 13, V, V, 16, 17, 18 , V, 20]
Однако я не могу вставить точное число V в правильные позиции.
def arrange_tickets(tickets_list):
ids=[]
for item in tickets_list:
new_str=item.strip("T")
ids.append(int(new_str))
sorted_ids = sorted(ids)
temp_ids = []
print("Sorted: ",sorted_ids)
#size = len(sorted_ids)
for i in range(len(sorted_ids)-1):
temp_ids.append(sorted_ids[i])
if sorted_ids[i]+1 != sorted_ids[i+1] :
temp_ids.insert(i+1,"V")
print(temp_ids)
#print(sorted_ids)
tickets_list = ['T20', 'T5', 'T10', 'T1', 'T2', 'T8', 'T16', 'T17', 'T9', 'T4', 'T12', 'T13', 'T18']
print("Ticket ids of all the available students :")
print(tickets_list)
result=arrange_tickets(tickets_list)
Фактический результат: [1, 2, «V», 4, «V», 5, 8, «V», 9, «V», 10, 12, «V», 13, 16, 17, 18]
Ожидаемый результат: [T1, T2, V, T4, T5, V, V, T8, T9, T10, V, T12, T13, V, V, T16, T17, T18, V, T20]