检查某个字典是否在列表中

时间:2015-03-10 18:11:33

标签: python list dictionary

我有一个包含以下内容的.json文件:

"[{'x':{'xx':'192.111.1.11'}},{'y':{'yx':'192.111.1.12'}}]"

我试图使用:

if x in somelist:
  return something

但这永远不会奏效。如何在列表中找到某个字典,而不知道该字典变量的定义。 (所以我不能知道'x'引用{'xx': '192.111.1.11'})。

1 个答案:

答案 0 :(得分:1)

您正在寻找其中一个词典中的存在;使用带有生成器表达式的any() function依次测试每个字典:

if any(x in d for d in somelist):

一旦确认匹配,这将停止测试词典。

我已经假设您已经将JSON加载到Python结构中。

演示:

>>> somelist = [{'x':{'xx':'192.111.1.11'}},{'y':{'yx':'192.111.1.12'}}]
>>> any('x' in d for d in somelist)
True
>>> any('z' in d for d in somelist)
False