zum Beispiel ich diese Liste haben:Wie erstellt man eine Unterliste für jeden String in einer Liste in Python?
word1 = ['organization', 'community']
Und ich habe eine Funktion ein, um Synonyme aus den Worten der Liste zu erhalten:
from nltk.corpus import wordnet as wn
def getSynonyms(word1):
synonymList1 = []
for data1 in word1:
wordnetSynset1 = wn.synsets(data1)
tempList1=[]
for synset1 in wordnetSynset1:
synLemmas = synset1.lemma_names()
for i in xrange(len(synLemmas)):
word = synLemmas[i].replace('_',' ')
if word not in tempList1:
tempList1.append(word)
synonymList1.append(tempList1)
return synonymList1
syn1 = getSynonyms(word1)
print syn1
und hier ist die Ausgabe:
[[u'organization', u'organisation', u'arrangement', u'system', u'administration', u'governance', u'governing body', u'establishment', u'brass', u'constitution', u'formation'], [u'community', u'community of interests', u'residential district', u'residential area', u'biotic community']]
^Die obige Ausgabe zeigt, dass alle Synsets für 'organization'
und 'community'
in einer Liste untergelistet sind. und dann verringere ich die Ebene der Liste:
newlist1 = [val for sublist in syn1 for val in sublist]
und hier ist die Ausgabe:
[u'organization', u'organisation', u'arrangement', u'system', u'administration', u'governance', u'governing body', u'establishment', u'brass', u'constitution', u'formation', u'community', u'community of interests', u'residential district', u'residential area', u'biotic community']
^jetzt alle Synsets bleiben die gleichen Saiten ohne sublist. und was ich versuche, ist jetzt, alle Synsets in newlist1
einander unterzulisten. Ich erwarte, dass der Ausgang so sein würde:
[[u'organization'], [u'organisation'], [u'arrangement'], [u'system'], [u'administration'], [u'governance'], [u'governing body'], [u'establishment'], [u'brass'], [u'constitution'], [u'formation'], [u'community'], [u'community of interests'], [u'residential district'], [u'residential area'], [u'biotic community']]
ich diesen Code bin versucht:
uplist1 = [[] for x in syn1]
uplist1.extend(syn1)
print uplist1
aber die Ergebnisse nicht das, was ich erwartet hatte:
[[], [], [u'organization', u'organisation', u'arrangement', u'system', u'administration', u'governance', u'governing body', u'establishment', u'brass', u'constitution', u'formation'], [u'community', u'community of interests', u'residential district', u'residential area', u'biotic community']]
Es zeigt zwei leeren Listen und zwei Listen von Synsets für beide 'organization'
und 'community'
wie ma ke jeder String von Synsets eine Unterliste?
Es tut mir leid, Sir, nicht so."[Organisation], Organisation, Organisation, System, Verwaltung, Governance, Körperbau, "Konstitution", "Information"], ["Gemeinschaft", "Gemeinschaft der Interessen", "Wohnviertel", "Wohngebiet", "Biozielle Gemeinschaft"]] << << fügt eine Liste für die synset-Gruppe hinzu, aber nicht für jede Zeichenkette – sang