辞書

2016-04-27 10 views
1

内のリストの値にアクセスするにはどうすればP iはクラス名前のオブジェクトを使用して値を格納している辞書

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

構造を持つ他のいくつかのクラス名のオブジェクトです

local={'obj1' : p } 

などの辞書を持っていますと今私はPCHとFCC_Queueの内部に存在する値をチェックしたい。 PCHリストの中に10が入っているかどうか、if文の条件として何を書かなければならないのかチェックしたいとします。私は10をチェックしたい

答えて

7

pPCHのためのルックアップが失敗した後、検索がp.__class__に移動するため、この作品PCHリスト内の

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

オハイオ州私はいくつかの間違いをしていました....ありがとう –

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 

存在しています、 nameであり、PCHです。 Bdw、それがすべてnameにある場合は、classの代わりにnamedtupleを使用することをお勧めします。後者はより大きく、より遅い。

+0

アクチュアールローカル= {}はグローバルな辞書なので、構造体クラスの概念を使ってレコードを保持します –

+0

@OmPrakashKumarはそれを知らなかった。謝罪します。 –