2016-04-27 3 views
1

У меня есть словарь какКак получить доступ значения списка в словаре

local={'obj1' : p } 

где р объект какого-либо другого имя класса со структурой

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

я сохранил значение с помощью объекта класса имени, и теперь я хочу проверить значение, присутствующее внутри PCH и FCC_Queue. предположим, что я хотел проверить 10, присутствует в списке PCH или нет, что мне нужно написать как условие if 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 

Это работает, потому что после того, как смотреть на PCH в p не удается, поиск переходит к p.__class__, который составляет name, и он имеет PCH. Bdw, если это все, то есть name, лучше используйте namedtuple вместо class. Последний является более громоздким и медленным.

+0

actallu local = {} - глобальный словарь, поэтому я использую понятие типа типа структуры для ведения записей –

+0

@OmPrakashKumar этого не знал. Извинения. –

Смежные вопросы