отображение двух списков - PullRequest
       9

отображение двух списков

0 голосов
/ 24 декабря 2009

У меня есть два списка, как это:

list1 = [{'id':1, 'name':'foo', 'age':20}, {'id':2, 'name':'foo', 'age':20}]

list2 = [{'id':2, 'created':'2004-12-23'}, {'id':12, 'created':'2004-12-23'}, 
         {'id':1, 'created':'2004-12-23'}]

list1 = [{'id':1, 'name':'foo', 'age':20, 'match':True}, 
         {'id':2, 'name':'foo', 'age':20, 'match':True}]

Я хочу добавить совпадение в соответствующий список, если совпадают идентификаторы list1 и list2. Как бы я сделал это эффективно?

1 Ответ

5 голосов
/ 24 декабря 2009
set2 = set(x['id'] for x in list2)
for entry in list1:
  if entry['id'] in set2:
    entry['match'] = True

OR

set2 = set(x['id'] for x in list2)
for entry in list1:
  entry['match'] = entry['id'] in set2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...