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