Strange SyntaxError:在返回定义语句后语法无效

Leo*_*Leo 0 python return syntax-error

我已经阅读了很多奇怪的语法错误问题,并且还没有看到我的问题,我真的很茫然.我正在做一些功课,截止日期越来越近,这个错误让我无法摆脱:

def create_voting_dict():
    strlist = [voting_data[i].split() for i in range(len(voting_data))]
    return voting_dict = {strlist[h][0]:[int(strlist[h][g]) for g in range(3, len(strlist[h]))] for h in range(len(strlist))}
Run Code Online (Sandbox Code Playgroud)

这让我错误:

return voting_dict = {strlist[h][0]:[int(strlist[h][g]) for g in range(3, len(strlist[h]))] for h in range(len(strlist))}
                                                                                        ^         
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

当我在程序中定义了voting_dict时没有发生这个错误,但我需要全局定义它,所以我在返回后把它放入然后我得到了错误.一直在计算括号,但这似乎不是问题.

我确信当我看到问题时很容易,但我只是没有看到它.谢谢你的帮助.

*投票数据是一个包含字符串的列表,我制作了拆分字符串并创建字典的过程

Suk*_*lra 6

你无法定义return.(因为赋值不返回值)只是这样做

return {strlist[h][0]:[int(strlist[h][g]) for g in range(3, len(strlist[h]))] for h in range(len(strlist))}
Run Code Online (Sandbox Code Playgroud)

或者voting_dict在新语句中定义一个然后return voting_dict.

看例子 -

>>> def test():
        return num = 2
SyntaxError: invalid syntax
>>> def test():
        return 2
Run Code Online (Sandbox Code Playgroud)