import spacy
import scispacy
nlp = spacy.load('en_core_sci_lg')
for text1 in df1['priceDescription']:
doc1 = nlp(text1)
for text2 in df2['Description']:
doc2 = nlp(text2)
similarity = doc1.similarity(doc2)
#print(doc1.text, doc2.text, similarity)
output = (f'{doc1.text:26} | {doc2.text:26} | {similarity:.2}')
print(output)
這是我的代碼,所以我如何將上述函式存盤在串列中,以便我可以將串列存盤在一個變數中。
輸出可能是這樣的
mylist = [for text1 in df1['priceDescription'].....]
我想要以上格式的輸出
誰能幫我解決這個問題?
謝謝。
uj5u.com熱心網友回復:
這會將您之前列印到標準輸出的字串收集到一個串列中并回傳該串列。為了將來參考,您應該注意我幾乎不需要改變就可以完成這項作業。
import spacy
def convert(nlp):
result = []
for text1 in df1['priceDescription']:
doc1 = nlp(text1)
for text2 in df2['Description']:
doc2 = nlp(text2)
similarity = doc1.similarity(doc2)
result.append(f'{doc1.text:26} | {doc2.text:26} | {similarity:.2}')
return result
nlp = spacy.load('en_core_sci_lg')
mylist = convert(nlp)
print(mylist)
值得指出的是,這也可以作為生成器來完成:
import spacy
def convert(nlp):
for text1 in df1['priceDescription']:
doc1 = nlp(text1)
for text2 in df2['Description']:
doc2 = nlp(text2)
similarity = doc1.similarity(doc2)
yield f'{doc1.text:26} | {doc2.text:26} | {similarity:.2}'
nlp = spacy.load('en_core_sci_lg')
mylist = list(convert(nlp))
print(mylist)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/379824.html
