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

prs*_*s11 0 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) }
Run Code Online (Sandbox Code Playgroud)

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

Jar*_*red 5

除非你还有一个部分(三元运算符),否则你不能在任何理解if的左边有一个声明.你需要向右移动,forelseif 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)}
Run Code Online (Sandbox Code Playgroud)