urls = ['http://google.com', 'http://yandex.com']
jobs = {
"jobs": [{
"id": "4535765",
"urls": [{
"url": "http://google.com",
"status": "OK"
}, {
"url": "http://yandex.com",
"status": "OK"
}]
}, {
"id": "4535756",
"urls": [{
"url": "http://example.com",
"status": "OK"
}, {
"url": "http://google.it",
"status": "OK"
}]
}]
}
我需要匹配作为网址中url所有网址的作业ID。
job_id = [j['id'] for j in jobs['jobs'] if all(u in jobs['urls'] for u in urls)]
当然它不起作用,不能想办法与网址中的每个网址互动。
答案 0 :(得分:2)
你真的很接近,你实际上并没有从作业中的url对象中获取url
值。试试这个:
job_ids = [j['id'] for j in jobs['jobs'] if all(u['url'] in urls for u in j['urls'])]