我已經閱讀了很多奇怪的語法錯誤問題,並且還沒有看到它,但我真的很茫然。我做了一些功課,其截止日期已經越來越近而這個錯誤我無法擺脫的:奇怪的SyntaxError:在定義語句返回後無效的語法
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))}
它得到我的錯誤:
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
當我定義voting_dict沒有出現此錯誤在程序中,但我需要全局定義它,所以我把它放在返回後,然後我得到了錯誤。一直計算括號,但似乎沒有問題。
我相信,當我看到問題時,它很容易,但我只是看不到它。謝謝你的幫助。
*投票數據是字符串列表,和我做了分割字符串,並創建一個字典
爲什麼通過使用所有這些'range(len(...))'調用來使事情變得複雜?爲什麼不只是在外部strlist中使用'{outer [0]:[int(inner)for outer in outer [3:]]}'? – abarnert
另外,一般情況下,如果在包含大量parens,括號和大括號的121行字符上出現語法錯誤,則調試的第一步應該是將其分解成更小的部分並找出哪個部分有錯誤。事實上,即使您在這裏沒有錯誤,您是否可以真正理解該行現在寫入的內容? (當然,你不能在一個80列的窗口中,像一個SO問題或一個典型的終端......但是即使忽略它,這也很難理解。) – abarnert
我花了一些時間閱讀,但實際上你的第一個評論中的表述會使其更簡單。至於你的第二個評論,我會把它放在心裏,爲我的下一個錯誤:)謝謝。我的編程經驗是有限的。 – Leo