2009-12-24 3 views
0

나는이 개 목록과 같이 있습니다매핑이 목록

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}] 

내가 해당 목록에 일치하는 항목을 추가 할 경우 목록 1과리스트 2 경기의 ID입니다. 어떻게하면 효율적으로 할 수 있을까요?

답변

5
set2 = set(x['id'] for x in list2) 
for entry in list1: 
    if entry['id'] in set2: 
    entry['match'] = True 

또는

set2 = set(x['id'] for x in list2) 
for entry in list1: 
    entry['match'] = entry['id'] in set2 
관련 문제