Python interpreter bug

alainpoint at yahoo.fr alainpoint at yahoo.fr
Fri Oct 7 09:32:32 EDT 2005


There is definitely a bug.
Maybe the follownig snippet is more clear:
class OBJ:
	def __init__(self,identifier):
		self.id=identifier
		self.allocated=0
	#def __cmp__(self,other):
	#	return cmp(other.allocated,self.allocated)
mylist=[OBJ(i) for i in range(10)]
excluded=[obj for obj in mylist if obj.id in [2,4,6,8]]
exclusion_list_by_id=[2,4,6,8]
print 'exclusion list by id=',exclusion_list_by_id
for obj in mylist:
	print 'current obj=',obj.id,
	if obj in excluded:
		print ' ---> THIS OBJECT IS EXCLUDED'
		assert obj.id in exclusion_list_by_id
		continue
	print

If you uncomment the two lines, the assert will be erroneously
triggered.
Alain




More information about the Python-list mailing list