Skip to main content
 首页 » 编程设计

python之如何删除列表中的这些重复项(python)

2025年05月04日9grandyang

biglist =  
 
[  
 
    {'title':'U2 Band','link':'u2.com'},  
    {'title':'ABC Station','link':'abc.com'},  
    {'title':'Live Concert by U2','link':'u2.com'}  
 
] 

我想删除列表中的第三个元素...因为它有重复的“u2.com”。我不想要重复的“链接”元素。执行此操作最有效的代码是什么,以便它产生以下结果:

biglist =  
 
[  
 
    {'title':'U2','link':'u2.com'},  
    {'title':'ABC','link':'abc.com'} 
] 

我尝试了很多方法,包括使用许多嵌套的“for ...in ...”,但这非常低效且太长。

请您参考如下方法:

可能是最快的方法,对于一个非常大的列表,如果你想保留剩余项目的确切顺序,如下......:

biglist = [  
    {'title':'U2 Band','link':'u2.com'},  
    {'title':'ABC Station','link':'abc.com'},  
    {'title':'Live Concert by U2','link':'u2.com'}  
] 
 
known_links = set() 
newlist = [] 
 
for d in biglist: 
  link = d['link'] 
  if link in known_links: continue 
  newlist.append(d) 
  known_links.add(link) 
 
biglist[:] = newlist