2011-09-12 38 views
3

我不斷收到引用我的代碼中的一個字典的錯誤。但我似乎無法找到任何會導致問題的東西。有些東西可能正在滑過我的眼睛,但是這裏是從命令行pdb反正的錯誤。獲得一個似乎沒有多大意義的錯誤。

爲了解釋發生了什麼,這是一個相當大的字典,它告訴我這是給程序一個'語法錯誤:無效語法'。箭頭告訴我什麼是沒有什麼意義的.... Keynote再次是這是pdb的結果。

distinctiveFeatures = ({1:'Beak',2:'Blood-Drenched',3:'Boiling or Steaming B 
ody',4:'Constantly Shedding',5:'Distinctive Markings',6:'Elongated Neck',7:'Hood 
',8:'Expanded bone Structure',9:'Albino',10:'Eye Stalks',11:'Glowing Eyes',12:'H 
air',13:'Horns',14:'Lizard-Like Fin',15:'Fish-Like Fin',16:'Icy or Cold Body',17 
:'Illusionary Features',18:'Metal-Like Features',19:'Multiple Arms',20:'Multiple 
Heads',21:'Antlers',22:'Multiple Legs',23:'Multiple Eyes',24:'Stinger',25:'Odor 
',26:'On Fire',27:'Oozing Sores',28:'Plant Features',29:'Prehensile Tongue',30:' 
Pulsating Skin',31:'Faces',32:'Rocklike Features',33:'Rubber boned',34:'Rubbery 
Body',35:'Scales',36:'Serpent Appendages',37:'Shade Form',38:'Shambling Gait',39 
:'Shell',40:'Shimmering Body',41:'Skeletal Appearance',42:'Slimy',43:'Speech',44 
:'Suction Cups on Limbs',45:'Tail',46:'Tentacles',47:'Transparent',48:'Unusual C 
olor',49:'Weapons for Hands',50:'Wet or Drenched Body'51:'Wings',52:'Mechanical 
Features',53:'Multiple Features',54:'Special'}) 



                ^
+2

該不該真的不是字典 - 因爲鑰匙都是整數,並且沒有任何缺失的字符,你就可以ld只是使用一個列表。 –

+1

@silentjudas like'distinctiveFeatures = ['Beak','Blood-Drenched'...''p.s.使用反引號 –

回答

2

enter image description here您錯過了逗號。

順便說一句,爲什麼你把dictionary括號之間? 你可以做({ ..},)使字典的tuple, 或者只是{..}的第一個元素爲一個普通的字典

使用顯示語法着色的編輯器(如例如IdleSciTe)有很大幫助。

因爲你的鑰匙都是整數,也許是更容易的選擇是做一個list

distinctiveFeatures = ['Beak', 'Blood-Drenched', 'Boiling or Steaming Body', 'Constantly Shedding', 'Distinctive Markings', 'Elongated Neck', 'Hood', 'Expanded bone Structure', 'Albino', 'Eye Stalks', 'Glowing Eyes', 'Hair', 'Horns', 'Lizard-Like Fin', 'Fish-Like Fin', 'Icy or Cold Body', 'Illusionary Features', 'Metal-Like Features', 'Multiple Arms', 'MultipleHeads', 'Antlers', 'Multiple Legs', 'Multiple Eyes', 'Stinger', 'Odor', 'On Fire', 'Oozing Sores', 'Plant Features', 'Prehensile Tongue', 'Pulsating Skin', 'Faces', 'Rocklike Features', 'Rubber boned', 'RubberyBody', 'Scales', 'Serpent Appendages', 'Shade Form', 'Shambling Gait', 'Shell', 'Shimmering Body', 'Skeletal Appearance', 'Slimy', 'Speech', 'Suction Cups on Limbs', 'Tail', 'Tentacles', 'Transparent', 'Unusual Color', 'Weapons for Hands', 'Wet or Drenched Body', 'Wings', 'MechanicalFeatures', 'Multiple Features', 'Special'] 

讓你的元素:

distinctiveFeatures[0] 

'Beak' 
+0

這是我第一次看到它寫出來的方式;沒有意識到它並不需要它們。另外,我使用Notepad ++,它做得非常好,但是很長的單詞和逗號列表不容易注意到即使着色也存在輕微故障... 從未聽說過您提到的那三種中的任何一種。我得看看他們。 – silentjudas

+0

*讀取備份*等待,你可以做到這一點?那麼這比我打字時好看多了!另外,由於是新的(低代表和所有這些),我還不能滿意。但是,我可以將您設定爲 – silentjudas

+0

我很榮幸您的選擇! 'read back up'是什麼意思? – Remi

2

元素50缺少尾隨逗號。

您可以簡化這一行來調試此類錯誤。首先刪除花括號之間的一半字符串。

如果問題仍然存在,繼續將剩下的部分減半,直到找到導致錯誤的小片段並進行更正。

7

缺少逗號之前51

在未來,幫助追查這種錯誤的,樂於助人的,不要把一切都在一個巨大的線,跨越幾行拆呢。這樣箭頭會更有幫助。

+0

我到底該怎麼做?另外,非常感謝。基督,一個該死的逗號...... – silentjudas

+2

@silentjudas,按回車。您可以在字典定義中的任何位置放置空格。我會在每個逗號後加一個換行符。 –

+0

哦,哈。好吧,我擔心可能會搞砸語法 – silentjudas

相關問題