Python: comparación de frozensets

Considere el siguiente script:

# multipleSmallFrozensets is a list of 7 frozensets of differenet number of string objects multipleSmallFrozensets = [ frozenset({'YHR007C', 'YHR042W'}), frozenset({'YPL274W'}), frozenset({'YCL064C'}), frozenset({'YBR166C'}), frozenset({'YEL041W', 'YJR049C'}), frozenset({'YGL142C'}), frozenset({'YJL134W', 'YKR053C'})] # singleFrozenset is a frozenset of 3410 string objects singleFrozenset = frozenset({'YIL140W','YLR268W','YLR357W','YJL155C','YHR067W', 'YAL008W','YBR255W','YFR027W','YGR148C','YJR122W','YJL204C','YJL093C','YLR244C', 'YNL003C','YBR111W-A', ...}) # don't forget that i is of type frozenset [just saying!] for i in multipleSmallFrozensets: if i <= singleFrozenset: print "First option entered" elif len(i) == 1: print "Second option entered" else: print "Third option entered" 

y la salida misteriosa es

 First option entered Second option entered Second option entered First option entered Third option entered First option entered First option entered 

Estas condiciones if-else están verificando dos casos a) i <= singleFrozenset, yb) len (i) == 1. La segunda condición es simple; sin embargo, no pude averiguar la primera condición en la que los casos que coincidían con son 1, 4, 6 y 7. No pude encontrar un vínculo entre estos conjuntos congelados en estos casos. ¿Alguna idea de por qué?

El operador set <= es equivalente al método .issubset() . A <= B es verdadero si y solo si cada elemento de A también pertenece a B.