Dada una lista con algunos elementos siendo una lista de elementos opcionales. La tarea es encontrar todas las combinaciones posibles de todas las opciones.
Ejemplos:
Entrada : test_list = [“geekforgeeks”, [5, 4, 3], “es”, [“mejor”, “bueno”, “mejor”]], K = 3
Salida : [[‘geekforgeeks’, 5, ‘ es’, ‘mejor’], [‘geekforgeeks’, 4, ‘es’, ‘bueno’], [‘geekforgeeks’, 3, ‘es’, ‘mejor’]]
Explicación : elementos internos seleccionados y emparejados con índices similares . 5 -> “mejor”.Entrada : test_list = [“geekforgeeks”, [5, 4], “es”, [“mejor”, “bueno”]], K = 2
Salida : [[‘geekforgeeks’, 5, ‘es’, ‘mejor’ ], [‘geekforgeeks’, 4, ‘is’, ‘good’]]
Explicación : elementos internos seleccionados y emparejados con índices similares. 5 -> “mejor”.
Método: usando un bucle
En esto, usamos un bucle anidado para obtener combinaciones sabias de índice de cada lista de opciones anidadas, y luego el bucle externo se usa para obtener valores predeterminados en todas las combinaciones.
Python3
# Python3 code to demonstrate working of # Optional Elements Combinations # Using loop # initializing list test_list = ["geekforgeeks", [5, 4, 3, 4], "is", ["best", "good", "better", "average"]] # printing original list print("The original list is : " + str(test_list)) # initializing size of inner Optional list K = 4 res = [] cnt = 0 while cnt <= K - 1: temp = [] # inner elements selections for idx in test_list: # checks for type of Elements if not isinstance(idx, list): temp.append(idx) else: temp.append(idx[cnt]) cnt += 1 res.append(temp) # printing result print("All index Combinations : " + str(res))
Producción:
La lista original es: [‘geekforgeeks’, [5, 4, 3, 4], ‘es’, [‘mejor’, ‘bueno’, ‘mejor’, ‘promedio’]]
Todas las combinaciones de índices: [[‘geekforgeeks’, 5, ‘is’, ‘best’], [‘geekforgeeks’, 4, ‘is’, ‘good’], [‘geekforgeeks’, 3, ‘is’, ‘better ‘], [‘geekforgeeks’, 4, ‘es’, ‘promedio’]]
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA