es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

extrayendo la salida real del generador en una lista

Estoy tratando de obtener la salida real del generador, pero obtengo la salida como un objeto generador. Por favor, ayúdame a obtener la salida real del generador.

import spacy
nlp = spacy.load('en')

def lemmatizer(words):
     yield from [w.lemma_ for w in nlp(words)]

list1 = ['pájaros colgando en la calle','personas jugando a las cartas']

a = list(map(lemmatizer,list1))

Salida:
a
[,
]

Salida esperada:
a
[‘pájaros colgar en calle’,
‘personas jugar carta’]

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el resultado esperado, necesitas iterar a través de los generadores y almacenar sus respectivos resultados en una lista. Una forma de lograr esto es usar una comprensión de lista para iterar a través de cada generador en a y usar la función list() para convertir la salida del generador en una lista. Esto se puede hacer de la siguiente manera:

    a = [list(lemmatizer(words)) for words in list1]
    

    Esto te dará el resultado esperado:

    a
    ['los pájaros cuelgan en la calle', 'las personas juegan a las cartas']
    

Comments are closed.