SyntaxError:无效的语法-定义函数的参数

问题描述 投票:0回答:2

enter image description here我正在尝试运行一个函数,该函数定义两个集合之间共有的单词数之间的重叠。我有一个Python 2.0的代码,我试图在Python 3.x中复制相同的代码:

def computeOverlap(self, target, pos, (defn,examples,wordnetints), pre_words, post_words):
        # relevant words = words with same pos
        context_overlap = 0
        def_overlap = 0
        consecutive_overlap = 0

        def_words = defn.split(' ')
        # put all examples into the definition too. # CHANGE. no.
        for example in examples:
            if example.find(target) != -1:
                lst = example.split(target)
                example = lst[0] + lst[1]
                def_words.extend(example.split(' '))
        # put wordnet int senses into defn
        for wnint in wordnetints:
            wnstring = target + "." + pos + "."
            if wnint < 10: wnstring += "0" + str(wnint)
            else: wnstring += str(wnint)
            try:
                wndef = utilities.cleanString(wn.synset(wnstring).definition)
                def_words.extend(wndef.split(' '))
            except: pass

[当尝试运行该功能时

 #print list_of_senses
        for sense in list_of_senses: # sense is int. length list_of_senses is approx 5
            #print "Senses:\n", sense, list_of_senses[sense]
            overlap = self.computeOverlap(word, pos, list_of_senses[sense], pre_words, post_words)
            #print "overlap for sense", sense, ":", overlap
            #print "!!!!", sense, "Overlap:", overlap
            scores[sense] = overlap+alpha
        #print "Best Sense is: ", best_sense
        if softScoring:
            values = []
            total = sum(scores.values())
            for key in scores:
                scores[key] = scores[key] / float(total)
        return scores, alpha

但是它给了我以下错误:

File "<ipython-input-13-e08e748435b4>", line 91
    def computeOverlap(self, target, pos, (defn , examples, wordnetints), pre_words, post_words):

SyntaxError: invalid syntax

我想念什么吗?

python-3.x syntax
2个回答
0
投票

将列表作为参数,然后稍后将其解压缩为元组:

喜欢这个:

def computeOverlap(self, target, pos, temp_list, pre_words, post_words):
    (defn, examples, wordnetints) = temp_list

0
投票

尝试此:

def computeOverlap(self, target, pos, defn , examples, wordnetints, pre_words, post_words):
    context_overlap = 0
    def_overlap = 0
    consecutive_overlap = 0
© www.soinside.com 2019 - 2024. All rights reserved.