2013-08-02 26 views
-3

有了這個代碼:Python語法ERR多行

foo = { 
    '.0': [ 
     {}, 
     {}, 
     {}, 
     {} 
    ], 
    '.1':[ 
     {}, 
     {}, 
     { 
      '.0':[ 
       {}, 
       {}, 
       {} 
      ] 
      '.1':[ 
       {}, 
       {}, 
       {} 
      ] 
     } 
    ] 
} 

我運行,並得到這個錯誤:

File "testpy.py", line 17 
    '.1':[ 
    ^
SyntaxError: invalid syntax 

爲什麼?如何格式化字典/列表以跨越多行?

+2

我錯過了「過於本地化」的關閉原因... – JJJ

+5

這個問題似乎是脫離主題,因爲它是關於指出一個字符的語法錯誤 –

+3

調試時應該有更多的耐心:p – keyser

回答

2

你錯過了一個逗號:

foo = { 
    '.0': [ 
     {}, 
     {}, 
     {}, 
     {} 
    ], 
    '.1':[ 
     {}, 
     {}, 
     { 
      '.0':[ 
       {}, 
       {}, 
       {} 
      ], # <----- comma needed here 
      '.1':[ 
       {}, 
       {}, 
       {} 
      ] 
     } 
    ] 
} 
+0

哇......我不知道解析器是如何工作的,但回想起來似乎很奇怪地指出它是這條線。編輯:我一直在看inccorect'.1'。 oops –

+0

哇,我們的答案几乎相同! – SethMMorton

+2

我認爲它自然是指向無意義的行(因爲它期望別的什麼) – keyser

1

在第二個.1之前應該有一個,

+0

[編輯評論] –

0

你缺少一個逗號:

foo = { 
    '.0': [ 
     {}, 
     {}, 
     {}, 
     {} 
    ], 
    '.1':[ 
     {}, 
     {}, 
     { 
      '.0':[ 
       {}, 
       {}, 
       {} 
      ], # <==== Missing comma here 
      '.1':[ 
       {}, 
       {}, 
       {} 
      ] 
     } 
    ] 
} 

如果你的語法錯誤似乎非常奇怪,它通常是前行的原因。