Dada una matriz de tamaño n, genere e imprima todas las combinaciones posibles de r elementos en la matriz. Ejemplos:
Input : arr[] = [1, 2, 3, 4], r = 2 Output : [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]>
Recomendado: Pruebe su enfoque en {va} primero, antes de pasar a la solución.
Este problema tiene una solución recursiva existente. Consulte Imprimir todas las combinaciones posibles de r elementos en una matriz determinada de tamaño n. Resolveremos este problema en Python usando itertools.combinaciones() módulo.
¿Qué hace itertools.combinations()?
Devuelve subsecuencias de r longitud de elementos del iterable de entrada. Las combinaciones se emiten en orden lexicográfico. Entonces, si el iterable de entrada está ordenado, las tuplas combinadas se producirán en orden.
nueva línea de Python
- itertools.combinations(iterable, r): devuelve tuplas de longitud r ordenadas sin elementos repetidos. Por ejemplo, combinaciones('ABCD', 2) ==> [AB, AC, AD, BC, BD, CD]. itertools.combinations_with_replacement(iterable, r): devuelve tuplas de longitud r ordenadas con elementos repetidos. Por ejemplo, combinaciones_con_reemplazo('ABCD', 2) ==> [AA, AB, AC, AD, BB, BC, BD, CC, CD, DD].
Python3
"¿Cuál es la diferencia entre un león y un tigre?"
# Function which returns subset or r length from n> from> itertools>import> combinations> def> rSubset(arr, r):> ># return list of all subsets of length r> ># to deal with duplicate subsets use> ># set(list(combinations(arr, r)))> >return> list>(combinations(arr, r))> # Driver Function> if> __name__>=>=> '__main__'>:> >arr>=> [>1>,>2>,>3>,>4>]> >r>=> 2> >print> (rSubset(arr, r))> |
>
>
la sonrisa mas bonita del mundoProducción
[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]>