加入函数输出python中的多个列表

时间:2014-07-26 12:41:14

标签: python list

我将多个列表作为函数的输出。我想组合所有列表,只形成一个列表。请帮忙

def words(*args):
    word =[args]
    tokens = nltk.wordpunct_tokenize(''.join(word))
    for word in tokens:
        final = wn.synsets(word)
        synonyms = set()
        for synset in final:
            for synwords in synset.lemma_names:
                synonyms.add(synwords)
        final = list(synonyms)
        dic = dict(zip(word,final))
        dic[word] = final
        return final

2 个答案:

答案 0 :(得分:0)

在使用单词功能的任何地方使用此功能(根据您的问题列出一个列表):

wordlist = [word for sublist in words(args) for word in sublist]

答案 1 :(得分:0)

一旦你的代码得到纠正,我发现函数words()返回平面列表以外的任何内容都没有问题。如果有一些输入可以重现问题,请用它更新您的问题。

更正是将args直接传递给join(),而不是将其包装在列表中。

def words(*args):
    tokens = nltk.wordpunct_tokenize(''.join(args))
    for word in tokens:
        final = wn.synsets(word)
        synonyms = set()
        for synset in final:
            for synwords in synset.lemma_names:
                synonyms.add(synwords)
        final = list(synonyms)
        dic = dict(zip(word,final))
        dic[word] = final
        return final

>>> words('good day', ', this is a', ' test!', 'the end.')
['beneficial', 'right', 'secure', 'just', 'unspoilt', 'respectable', 'good', 'goodness', 'dear', 'salutary', 'ripe', 'expert', 'skillful', 'in_force', 'proficient', 'unspoiled', 'dependable', 'soundly', 'honorable', 'full', 'undecomposed', 'safe', 'adept', 'upright', 'trade_good', 'sound', 'in_effect', 'practiced', 'effective', 'commodity', 'estimable', 'well', 'honest', 'near', 'skilful', 'thoroughly', 'serious']