Repasando el archivo encontré este correo del lunes; no debe haberse reenviado a
los correos personales (al menos a mi no me llegó) por problemas en la cabecera,
viene sin remitente y sin asunto:
http://mail.python.org/pipermail/python-es/2010-May/024367.html
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']
Si el autor ve esto, que diga algo (si puede ser, con una cabecera From ;-)).
De momento la respuesta corta: la permutación está bien, lo que quieres es el
producto cartesiano:
http://docs.python.org/library/itertools.html
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/