如何在列表中删除这些重复项(python)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在列表中删除这些重复项(python),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1006字,纯文字阅读大概需要2分钟。
内容图文
biglist =
[
{'title':'U2 Band','link':'u2.com'},
{'title':'ABC Station','link':'abc.com'},
{'title':'Live Concert by U2','link':'u2.com'}
]
我想删除列表中的THIRD元素…因为它有“u2.com”作为副本.我不想要重复的“链接”元素.执行此操作的最有效代码是什么,以便产生以下结果:
biglist =
[
{'title':'U2','link':'u2.com'},
{'title':'ABC','link':'abc.com'}
]
我尝试了很多方法,包括使用许多嵌套的“for … in ….”但这种效率非常低且太长.
解决方法:
您可以使用每个字典的链接字段作为排序键对列表进行排序,然后迭代列表一次并删除重复项(或者更确切地说,创建一个删除了重复项的新列表,就像Python惯用法一样),如下所示:
# sort the list using the 'link' item as the sort key
biglist.sort(key=lambda elt: elt['link'])
newbiglist = []
for item in biglist:
if newbiglist == [] or item['link'] != newbiglist[-1]['link']:
newbiglist.append(item)
此代码将为您提供任何“重复”组的第一个元素(原始biglist中的相对排序).这是正确的,因为Python使用的.sort()算法保证是一个稳定的排序 – 它不会改变被确定为彼此相等的元素的顺序(在这种情况下,具有相同链接的元素).
内容总结
以上是互联网集市为您收集整理的如何在列表中删除这些重复项(python)全部内容,希望文章能够帮你解决如何在列表中删除这些重复项(python)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。