generando una combinación completa de valores de múltiples listas en Python?

Estúpido dave

Me gustaría generar una matriz completa de combinaciones de valores a partir de varias listas. Pero no siempre sé cuántas listas se proporcionarán y cada una puede tener una longitud diferente. Pude obtener la respuesta abusando de itertools.product (), pero creo que es excesivo. ¿Existe una forma más pitónica?

import itertools

listoflists = [
   ["happy","sad"],
   ["car","bike","truck"],
   ["true","false"],
   [3,6,34,8,31]]

def comboGenerator(lol):

  # create a uniform N-dimensional struct, big enough to hold longest dimension
  longest = max(map(lambda x: len(x),lol))
  superstruct = itertools.product(range(longest), repeat=len(lol))

  # visit each cell in the struct, ignore the empty ones
  for a in superstruct:
    combo = []
    try:
      for index in range(len(lol)):
        combo.append(lol[index][a[index]])
      yield (combo)
    except IndexError:  #this was an empty cell; try again
      pass

for x in comboGenerator(listoflists):
  print (x)
Ulular
result = list(itertools.product(*listoflists))

si desea que el tipo de elemento de la resultlista sea a list, conviértalo de la siguiente manera:

result = [list(item) for item in result]

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Generando una lista de diccionarios en python usando listas que contienen valores duplicados

Python: combinación en listas de listas (?)

listas de Python: convierta una lista existente de listas en un diccionario con múltiples valores por clave usando una comprensión

¿Generando una lista de listas en Haskell?

Cuente valores comunes de múltiples listas en Python

Mi método está generando una matriz completa en lugar de un número entero desde dentro de esa matriz

Estoy buscando generar una combinación de listas de listas en python

Combinación de dos listas en python

Generando una secuencia (aleatoria) de múltiples caracteres en R

Generando múltiples índices en una sola tabla de postgres

¿Es posible obtener un elemento de lista basado en una combinación de múltiples valores de sublista?

Cómo hacer una combinación de listas de una lista en Python

Python: crea una combinación de dos columnas que contienen listas como sus valores en un marco de datos de Python

¿Cómo obtener una combinación de valores de varias listas de elementos con longitud variable en Python 3.x?

Creación de múltiples columnas de pandas a partir de la combinación de una lista en Python

formatear múltiples listas de listas en una tabla verticalmente

Cómo agregar múltiples valores en una clave con una función de Python

Generando e imprimiendo múltiples listas aleatorias en Python

Devuelve múltiples valores de una función en swift

¿Cómo generar múltiples listas en una matriz de una sola pasada en Python 2.7?

¿Creando combinaciones de múltiples columnas en un objeto de matriz que consta de una combinación de valores y nombre de columna en java?

El valor de la matriz de Powershell en la inserción de MySQL está generando una matriz completa

Iterar sobre todas las combinaciones de valores en múltiples listas en Python

¿Cómo encontrar el mínimo de una matriz en múltiples listas en Python?

Generando cada combinación de variables de una lista

Almacenar múltiples valores de función en una cadena / matriz (Python)

Cómo crear una consulta de inserción con múltiples valores en python para postgresql

Extraiga múltiples listas de atributos de una lista de objetos con múltiples atributos en python3

Python3: intersección de diccionarios y combinación de sus valores en una lista

TOP Lista

CalienteEtiquetas

Archivo