Question: In my for loop, my code generates a list like this one:

```
list([0.0,0.0]/sum([0.0,0.0]))

```

The loop generates all sort of other number vectors but it also generates `[nan,nan]`, and to avoid it I tried to put in a conditional to prevent it like the one below, but it doesn't return true. 

```
nan in list([0.0,0.0]/sum([0.0,0.0]))
>>> False

```

Shouldn't it return true?

![enter image description here](https://i.stack.imgur.com/aQayL.png)

Libraries I've loaded:

```
import PerformanceAnalytics as perf
import DataAnalyticsHelpers
import DataHelpers as data
import OptimizationHelpers as optim
from matplotlib.pylab import *
from pandas.io.data import DataReader
from datetime import datetime,date,time
import tradingWithPython as twp
import tradingWithPython.lib.yahooFinance as data_downloader # used to get data from yahoo finance
import pandas as pd # as always.
import numpy as np
import zipline as zp
from scipy.optimize import minimize
from itertools import product, combinations
import time
from math import isnan

```

Answer: 
I think this makes sense because of your pulling `numpy` into scope indirectly via the star import.

```
>>> import numpy as np
>>> [0.0,0.0]/0
Traceback (most recent call last):
  File "<ipython-input-3-aae9e30b3430>", line 1, in <module>
    [0.0,0.0]/0
TypeError: unsupported operand type(s) for /: 'list' and 'int'

>>> [0.0,0.0]/np.float64(0)
array([ nan,  nan])

```

When you did

```
from matplotlib.pylab import *

```

it pulled in `numpy.sum`:

```
>>> from matplotlib.pylab import *
>>> sum is np.sum
True
>>> [0.0,0.0]/sum([0.0, 0.0])
array([ nan,  nan])

```

You can test that **this** `nan` object (`nan` isn't unique in general) is in a list via identity, but if you try it in an `array` it seems to test via equality, and `nan != nan`:

```
>>> nan == nan
False
>>> nan == nan, nan is nan
(False, True)
>>> nan in [nan]
True
>>> nan in np.array([nan])
False

```

You could use `np.isnan`:

```
>>> np.isnan([nan, nan])
array([ True,  True], dtype=bool)
>>> np.isnan([nan, nan]).any()
True

```
May be this is what you are looking for...

```
a = [2,3,np.nan]
b = True if True in np.isnan(np.array(a)) else False
print(b)

```