You can use the filter
built-in to get a filtered copy of a list.
>>> 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']
The above can handle a variety of objects by using explicit type conversion. Since nearly every Python object can be legally converted to a string, here filter
takes a str-converted copy for each member of the_list, and checks to see if the string (minus any leading '-' character) is a numerical digit. If it is, the member is excluded from the returned copy.
The built-in functions are very useful. They are each highly optimized for the tasks they're designed to handle, and they'll save you from reinventing solutions.