如何访问字典中的列表值

时间:2016-04-27 14:02:18

标签: python python-2.7 dictionary

我有一本词典

local={'obj1' : p }

其中p是具有结构的其他类名的对象

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

我使用类名称的对象存储了值,现在我想检查PCH和FCC_Queue中存在的值。假设我想检查10在PCH列表中是否存在,或者不应该作为if语句的条件写什么?

3 个答案:

答案 0 :(得分:7)

  

我想检查PCH列表中是否存在10

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

答案 1 :(得分: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

答案 2 :(得分:0)

local={'obj1' : p }
if 10 in local["obj1"].PCH:
    # do something

这是有效的,因为在PCH中查找p失败后,搜索会移至p.__class__,即namePCH。 Bdw,如果只有name,那么最好使用namedtuple代替class。后者更笨,更慢。