permutacion del bit

antonio a.porrua en gmail.com
Lun Mar 23 12:45:49 CET 2009


El dom, 22-03-2009 a las 13:58 -0700, Jean Carlos Rodrìguez escribió:
> Hola por la red he conseguido esto 
> 
> From Michael Davies's recipe.
> 
> def all_perms(str):
> if len(str) <=1:
> yield str
> else:
> for perm in all_perms(str[1:]):
> for i in range(len(perm)+1):
> yield perm[:i] + str[0:1] + perm[i:]
> 
> 
> >>> for p in all_perms(['a','b','c']):
> print p
> 
> ['a', 'b', 'c']
> ['b', 'a', 'c']
> ['b', 'c', 'a']
> ['a', 'c', 'b']
> ['c', 'a', 'b']
> ['c', 'b', 'a']
> 
> ahora si quiero es permutar bits(0,1) 
> 
> >>> for p in all_perms(['0','1']):
> ... 	print p
> ... 
> ['0', '1']
> ['1', '0']
> 
> pero no deberia ser 
> ['0', '1']
> ['1', '0']
> ['0', '0']
> ['1', '1']
> 

No es lo mismo una permutación que una combinación

En la permutación sólo se consideran los cambios de orden.

------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es