Articles of combinaciones de

Python: Generando todas las combinaciones ordenadas de una lista

Estoy usando Python 2.7. Tengo una lista y quiero todas las combinaciones ordenadas posibles. import itertools stuff = [“a”,”b”,”c”, “d”] for L in range(1, len(stuff)+1): for subset in itertools.combinations(stuff, L): print( ‘ ‘.join(subset)) Esto dará el siguiente resultado: a b c d ab ac <– not in correct order ad <– not in correct order […]

¿Cómo calculo todas las posibilidades para una matriz de números / bits (en python, o cualquier idioma)?

He estado destrozando mi cerebro durante 3 horas seguidas, pero todavía no lo entiendo, así que pregunto aquí. (Escribí Python en el título, pero esto podría ser para casi cualquier idioma) Supongamos que tengo una matriz de bits (pero también pueden ser enteros en un rango definido) de longitud fija n, digamos 5. array=[0,1,1,0,0] Ahora, […]

Combinaciones de Itertools Sin repeticiones: donde rgb es equivalente a rbg, etc.

Estoy tratando de usar itertools.combinations para devolver combinaciones únicas. He buscado varias preguntas similares pero no he podido encontrar una respuesta. Un ejemplo: >>> import itertools >>> e = [‘r’,’g’,’b’,’g’] >>> list(itertools.combinations(e,3)) [(‘r’, ‘g’, ‘b’), (‘r’, ‘g’, ‘g’), (‘r’, ‘b’, ‘g’), (‘g’, ‘b’, ‘g’)] Para mis propósitos, (r, g, b) es idéntico a (r, b, […]

Python: encuentra todas las combinaciones de palabras posibles con una secuencia de caracteres (segmentación de palabras)

Estoy haciendo algunos experimentos de segmentación de palabras como los siguientes. lst es una secuencia de caracteres, y la output son todas las palabras posibles. lst = [‘a’, ‘b’, ‘c’, ‘d’] def foo(lst): … return output output = [[‘a’, ‘b’, ‘c’, ‘d’], [‘ab’, ‘c’, ‘d’], [‘a’, ‘bc’, ‘d’], [‘a’, ‘b’, ‘cd’], [‘ab’, ‘cd’], [‘abc’, ‘d’], […]

Combinaciones de reemplazo de cuerdas

Así que tengo una cadena ‘1xxx1’ y quiero reemplazar un cierto número (quizás todos quizás ninguno) de x con un carácter, digamos ‘5’. Quiero todas las combinaciones posibles (… tal vez permutaciones) de la cadena donde x se sustituye o se deja como x. Me gustaría que esos resultados se almacenen en una lista. Así […]

Iterar sobre la matriz dos veces (producto cartesiano) pero considerar solo la mitad de los elementos

Estoy tratando de iterar sobre una matriz dos veces para tener pares de elementos (e_i, e_j) pero solo quiero los elementos que i <j. Básicamente, lo que quiero se vería así como lenguajes tipo C. int my_array[N] = …; for (int i=0; i<N; i++) for (int j=i+1; j<N; j++) something(my_array[i],my_array[j]); No encontré lo que estaba […]

Explicación de la función de combinación de los módulos de python.

A menudo he usado el módulo itertools en Python, pero se siente como un engaño si no conozco la lógica detrás de él. Aquí está mi código para encontrar combinaciones de cuerdas cuando el orden no es importante. def combinations(iterable, r): # combinations(‘ABCD’, 2) –> AB AC AD BC BD CD # combinations(range(4), 3) –> […]

Encuentre el índice de una combinación dada (de números naturales) entre aquellos devueltos por el módulo Python `itertools`

Dada una combinación de k de los primeros n números naturales, por alguna razón necesito encontrar la posición de tal combinación entre las que devuelve itertools.combination(range(1,n),k) (la razón es que de esta manera puedo use una list lugar de un dict para acceder a los valores asociados a cada combinación, conociendo la combinación). Como itertools […]

Python – consigue todas las combinaciones de una lista

Sé que puedo usar itertools.permutation para obtener toda la permutación del tamaño r. Pero, para itertools.permutation([1,2,3,4],3) devolverá (1,2,3) , así como (1,3,2) . Quiero filtrar esas repeticiones (es decir obtener combinaciones) ¿Hay una forma sencilla de obtener todas las permutaciones (de todas las longitudes)? ¿Cómo puedo convertir el resultado de itertools.permutation() a una lista regular?

KenKen puzzle addends: REDUX Un algoritmo no recursivo (corregido)

Esta pregunta se relaciona con aquellas partes de los rompecabezas de KenKen Latin Square que te piden que encuentres todas las combinaciones posibles de números de ncells con valores x tales que 1 <= x <= maxval yx (1) + … + x (ncells) = targetum. Habiendo probado varias de las respuestas más prometedoras, voy […]