Question: For example I have a sentence 

```
"He is so .... cool!"

```

Then I remove all the punctuation and make it in a list.

```
["He", "is", "so", "", "cool"]

```

How do I remove or ignore the empty string?

Answer: 
You can use a list comprehension:

```
cleaned = [x for x in your_list if x]

```

Although I would use regex to extract the words:

```
>>> import re
>>> sentence = 'This is some cool sentence with,    spaces'
>>> re.findall(r'(\w+)', sentence)
['This', 'is', 'some', 'cool', 'sentence', 'with', 'spaces']

```
I'll give you the answer to the question you *should* have asked -- how to avoid the empty string altogether. I assume you do *something* like this to get your list:

```
>>> "He is so .... cool!".replace(".", "").split(" ")
['He', 'is', 'so', '', 'cool!']

```

The point is that you use [`.split(" ")`](http://docs.python.org/2/library/stdtypes.html#str.split) to split on space characters. However, if you leave out the argument to `split`, this happens:

```
>>> "He is so .... cool!".replace(".", "").split()
['He', 'is', 'so', 'cool!']

```

Quoth the docs:

> 
> If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace.
> 
> 
> 

So you really don't need to bother with the other answers (except Blender's, which is a totally different approach), because split can do the job for you!