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代码中的语法错误是什么?
答案 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)}