rage2000 | Il y a pas une erreur dans ton exemple ? C'est pas plutôt [[0], [1], [1, 0], [1, 1], [1, 1, 0]] que tu veux ? (Bref une suite de pseudo binaire ?) Car sinon je comprend pas la logique ?
Si c'est ca il y a moyen de truander en castant en liste une valeur binaire et en enlevant les 2 1ers caractères.
Exemple:
Code :
- >>> bin(3)
- '0b11'
- >>> list(bin(3))
- ['0', 'b', '1', '1']
- >>> list(bin(3))[2:]
- ['1', '1']
|
Du coup simplement dans une liste en compréhension:
Code :
- >>> [list(bin(i))[2:] for i in range(0,2**4)]
- [['0'], ['1'], ['1', '0'], ['1', '1'], ['1', '0', '0'], ['1', '0', '1'], ['1', '1', '0'], ['1', '1', '1'], ['1', '0', '0', '0'], ['1', '0', '0', '1'], ['1', '0', '1', '0'], ['1', '0', '1', '1'], ['1', '1', '0', '0'], ['1', '1', '0', '1'], ['1', '1', '1', '0'], ['1', '1', '1', '1']]
|
|