【发布时间】:2015-04-22 06:29:03
【问题描述】:
我有一个这样的字典列表:
roles = [
{
"name": "project_management",
"id": "25"
},
{
"name": "pm.project",
"id": "26"
}
]
我想检查另一个列表中包含id 在主列表中的每个项目。
另一个列表可能是这样的:
l = ['25', '80']
我写了一个函数来在列表中查找id:
def has_id(_id):
return bool(filter(lambda x: x['id'] == _id, roles))
现在,我如何编写一条语句来返回我 True 或 False 用于主列表中的其他列表。
我不想使用for 声明。
【问题讨论】:
-
对于你给出的样本数据,你想要
False作为输出,对吧? -
@thefourtheye,完全正确
-
I don't want use for statement.- 有什么具体原因吗? -
@thefourtheye 因为一句话很漂亮
-
虽然仅在 Python 2 中,并且仅因为
filter的行为。你应该做类似any(x['id'] == _id for x in roles)
标签: python list python-2.7 dictionary