如何检查字典是否包含多个元素?

时间:2015-09-26 15:42:03

标签: python dictionary

我有一个二维数组,其中每个单元格包含一个随机填充人类,蚊子或两者的字典。这看起来像这样:

{'human': Human instance, 'mosquitoes': [Mosquito instance]}

我循环遍历二维数组,对于我检查的每个单元格:

for row in my_array:
    for cell in row:
        if cell['human']:
            do this
        elif cell['mosquitoes']:
            do this
        elif cell[both]:
            do this

我已经尝试了here建议的内容,但到目前为止我还没有能够开始工作。

2 个答案:

答案 0 :(得分:4)

cell[both]永远不会运行,因为它是最后一次elif检查。把它作为第一个。

if cell['human'] and cell['mosquitoes']:
    do this
elif cell['human']:
    do this
elif cell['mosquitoes]:
    do this

请注意,如果不存在humanmosquitoes个密钥,您可能会获得KeyError。因此,您可能需要使用cell.get(key)语法而不是cell[key]来满足此类事件。

答案 1 :(得分:0)

你考虑过尝试:

if cell['mosquitoes'] and cell['human']:
    # your code goes here for this case
elif cell['mosquitoes']:
    # your code goes here for this case
elif cell['human']:
    # your code goes here for this case