无法找到代码中的语法错误?

时间:2013-07-14 07:39:16

标签: python syntax-error

def makeInverseIndex(strlist):
 return { s:{ j if strlist[i] in strlist[j].split() for j in range(len(strlist)) } 
        for (i,s) in enumerate(strlist) }

Python代码中的语法错误是什么?

1 个答案:

答案 0 :(得分:5)

除非您还拥有if部分(三元运算符),否则您无法在for左侧的else语句中进行任何理解。您需要将if strlist[i] in strlist[j].split()移到右侧,

def makeInverseIndex(strlist):
    return {s:{j for j in range(len(strlist)) if strlist[i] in strlist[j].split()}
            for (i,s) in enumerate(strlist)}