У меня есть список, заполненный следующими строками:
list1 = ['01', '02', '03', '04', 05', '101-1', '101-2', 101-3',
'Name1', 'Name2', 'Name3', 'Name-4', 'Name-5', 'Name-6']
Мне нужно удалить как обычные целые числа, так и целые числа с тире в них, сохраняя имена, а также имена с тирев них.На данный момент я написал следующий код:
Этот код удаляет все тире (но как я могу указать только удалить дефисы из целочисленных строк, а не строк объекта):
list2 = [i.replace('-','') for i in list1 if i.isdigit()]
Этот код удаляет все целые числа, заключенные в строки:
list3 = [x for x in list2 if not (x.isdigit() or x[0] == '-' and x[1:].isdigit())]
С помощью приведенного выше кода я могу удалить все целые числа, но он также удаляет все «Имена» с тире в них.а также - мне нужно сохранить имена с тире в них.Как я могу это сделать?