permutacion del bit

heimy ricardo.cardenes en gmail.com
Lun Mar 23 15:20:56 CET 2009


2009/3/23 Daniel Garcia Moreno <dani en danigm.net>:
> El lun, 23-03-2009 a las 06:12 -0700, Jean Carlos Rodrìguez escribió:
>> Bueno mi pregunta es como hago para obtener, las combinaciones del bit
>> > > ['0', '1']
>> > > ['1', '0']
>> > > ['0', '0']
>> > > ['1', '1']
>>
>
> [[i, j] for i in ['0', '1'] for j in ['0', '1']]
>
>
> [['0', '0'], ['0', '1'], ['1', '0'], ['1', '1']]

Si quiere algo más genérico, al estilo del primer ejemplo:

  def combinaciones(elementos, n):
      if n < 1:
          yield ''
      elif n == 1:
          for e in elementos:
              yield e
      else:
          for e in elementos:
              for comb in combinaciones(elementos, n - 1):
                  yield e + comb

>>> [x for x in combinaciones('01', 1)]
['0', '1']
>>> [x for x in combinaciones('01', 2)]
['00', '01', '10', '11']
>>> [x for x in combinaciones('01', 3)]
['000', '001', '010', '011', '100', '101', '110', '111']
_______________________________________________
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