Вы можете использовать встроенный filter
для получения отфильтрованной копии списка.
>>> the_list = ['1','introduction','to','molecular',-8,'the','learning','module',5L]
>>> the_list = filter(lambda s: not str(s).lstrip('-').isdigit(), the_list)
>>> the_list
['introduction', 'to', 'molecular', 'the', 'learning', 'module']
Выше можно обрабатывать различные объекты с помощью явного преобразования типов. Так как почти каждый объект Python может быть юридически преобразован в строку, здесь filter
берет str-конвертированную копию для каждого члена the_list и проверяет, является ли строка (без любого начального символа '-') числовой цифрой. Если это так, участник исключается из возвращенной копии.
Встроенные функции очень полезны. Каждая из них высоко оптимизирована для задач, для решения которых она предназначена, и она избавит вас от переизобретения решений.