Skip to main content
 首页 » 编程设计

python之删除两个列表之间的交集

2025年05月04日9lidabo

我有两个对象列表:

m2m_links = mymodel._meta.many_to_many 
o2m_links = mymodel._meta.get_all_related_objects() 

o2m_links 中有一个对象我希望忽略/删除。可以通过以下方式识别:

for r in m2m_links: 
    if not r.rel.through._meta.auto_created: 
        # Delete o2m_links object that has the same name as r.rel.through._meta.object_name 

如何删除符合此循环命中条件的 o2m_links 对象?

请您参考如下方法:

要删除两个列表之间的交集,您应该使用 set

a = set(range(10)) 
b = set(range(5,15)) 
a-b 
>>set([0, 1, 2, 3, 4]) 
b-a 
>>set([10, 11, 12, 13, 14])