Python:检查列表项是否包含具有特定值的项目

时间:2017-08-23 08:34:28

标签: python python-3.x

有列表:[{"id":19308,"key":[866]},{"id":19307,"key":[866]}]

需要验证"id":19307是否在列表中

尝试过: if any(i['id'] == id in i for i in response): return True 但条件不正确 错在哪里?

2 个答案:

答案 0 :(得分:0)

您希望这样做(label设置为19307):

any(i['id'] == label for i in response)

此外,我将id重命名为label,因为id已经是python内置的,可能会导致混淆。如果您之前执行id = 19307,则这不是错误的原因,但不建议重命名内置。

错误是无关的in i。我必须拥有我不确定这是做了什么(可能试图检查i['id'] == id的结果是否在i,例如检查TrueFalse是在i

答案 1 :(得分:0)

请尝试:

any([item['id'] == id for item in response])