when calling set(c) second time it show empty set, it clear data butit working fine for first time and address of object is also same .
>>> import itertools
>>> a = ["aaa", "bbb", "ccc"]
>>> b = [True, False]
>>> c = itertools.product(a, b)
>>> c
<itertools.product object at 0x7f7bbca23050>
>>> set(c)
set([('bbb', True), ('ccc', True), ('ccc', False), ('aaa', True), ('bbb', False), ('aaa', False)])
>>> set(c)
set([])
>>> c
<itertools.product object at 0x7f7bbca23050>