2016-04-27 50 views
1

列表值我有一本字典作爲如何訪問內部字典

local={'obj1' : p } 

其中p是結構的一些其他類名稱的對象

class name: 
    x = 0 
    y = 0 
    time = 0 
    PCH = [] 
    FCC_Queue = [] 

我一直在使用類名的對象存儲的值現在我想檢查PCH和FCC_Queue中的值。假設我想檢查10是否存在於PCH列表中,或者不需要寫什麼作爲if語句的條件?

回答

7

我想檢查10存在內部PCH列表

if 10 in local["obj1"].PCH: 
    # do stuff 
+0

ohhh是的,我在做一些錯誤....謝謝 –

2
class name: 
    x = 0 
    y = 0 
    time = 0 
    PCH = [] 
    FCC_Queue = [] 


p = name() 
local = {} 
local['obj1'] = p 

((1 in local['obj1'].PCH) | (1 in local['obj1'].FCC_Queue)) 
False 

local['obj1'].PCH.append(1) 
((1 in local['obj1'].PCH) | (1 in local['obj1'].FCC_Queue)) 
True 
0
local={'obj1' : p } 
if 10 in local["obj1"].PCH: 
    # do something 

這工作,因爲後p失敗查找的PCH,搜索移動到p.__class__,它是name,它有PCH。 Bdw,如果這就是name,最好使用namedtuple而不是class。後者體積更大,速度更慢。

+0

actuallu local = {}是一個全局字典,因此我使用結構類型類的概念來保​​存記錄 –

+0

@OmPrakashKumar不知道這一點。道歉。 –