我有一个二维数组,其中每个单元格包含一个随机填充人类,蚊子或两者的字典。这看起来像这样:
{'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建议的内容,但到目前为止我还没有能够开始工作。
答案 0 :(得分:4)
cell[both]
永远不会运行,因为它是最后一次elif
检查。把它作为第一个。
if cell['human'] and cell['mosquitoes']:
do this
elif cell['human']:
do this
elif cell['mosquitoes]:
do this
请注意,如果不存在human
或mosquitoes
个密钥,您可能会获得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