2013-03-14 102 views
-4

我有一本字典一樣如下:Python的字典類型的錯誤

Dict = { "key1" : {"subkey1" : "value1" , "subkey2" : "value2" , 

     "key2" : {"subkey1" : "value3" , "subkey2" : "value4 } 

我基本上希望能夠檢查值如下

if (Dict[key][any_subkey] == "value"): 

    do something.... 

我收到類型錯誤:列表索引必須是整數,不str ...

任何人都可以請幫助我這一點。

+0

當你得到這個'TypeError'時,什麼是'Dict [key]'? – 2013-03-14 02:17:07

+1

它看起來像你的'Dict'的定義,你的實際執行沒有被分配。 'Dict'或'Dict [key]'是一個'list'。 – mgilson 2013-03-14 02:17:33

+0

當你得到這個TypeError時,什麼是Dict [鍵]?它是一個與鍵 – 2013-03-14 02:19:35

回答

0

這個工作對我來說:

>>> Dict = { "key1" : {"subkey1" : "value1" , "subkey2" : "value2"} , 
...   "key2" : {"subkey1" : "value3" , "subkey2" : "value4" }} 
>>> Dict["key1"] 
{'subkey2': 'value2', 'subkey1': 'value1'} 
>>> Dict["key1"]["subkey1"] 
'value1' 
>>> 

你檢查你的語法?

+0

dict = {「key1」:{「subkey1」:「val1」,「subkey2」:「val2」}} ..這就是我的聲明。你粘貼的那個將會工作 – 2013-03-14 02:35:11

+0

所以你讓它工作?在你的例子中,你在第一行,在逗號前面和在第二行末尾的另一個面板上缺少關閉。 – tor 2013-03-14 02:50:57

+0

NO仍然得到相同的錯誤。 :( – 2013-03-14 02:55:06

0

是這樣的?

>>> Dict = { "key1" : {"subkey1" : "value1" , "subkey2" : "value2" , 
... 
...     "key2" : {"subkey1" : "value3" , "subkey2" : "value4" } 
...        } 
...   } 
>>> print Dict["key1"]["key2"]["subkey2"] == "value4" 
True 
+0

NO我要Dict [ KEY1 「] [」 subkey1" ] – 2013-03-14 02:37:47