开发者

Python对list列表进行去重的几种方法

开发者 https://www.devze.com 2024-10-29 09:32 出处:网络 作者: matrixlzp
目录一、使用集合(set)转换再转回列表二、使用www.devze.com字典的键去重并保留顺序 (推荐)三、使用循环和临时列表四、使用OrderedDict(python 3.6 之前字典不保证顺序,较早版本的 Python 使用这种方法)五、实战
目录
  • 一、使用集合(set)转换再转回列表
  • 二、使用www.devze.com字典的键去重并保留顺序 (推荐)
  • 三、使用循环和临时列表
  • 四、使用OrderedDict(python 3.6 之前字典不保证顺序,较早版本的 Python 使用这种方法)
  • 五、实战案例

在 Python 中,可以使用以下几种方法对列表进行去重:

一、使用集合(set)转换再转回列表

这种方法简单快捷,但会改变列表中元素的顺序,因为集合是无序的。

如果按列表原来的顺序,输出应该是 [5, 4, 3, 2, 1],结果是 [1, 2, 3, 4, 5]

my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = list( set(my_list) )
print(unique_list)

运行:

Python对list列表进行去重的几种方法

二、使用字典的键去重并保留顺序 (推荐)

my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = list( {}.fromkeys(my_list).keys() )
print(unique_list)

运行:

Python对list列表进行去重的几种方法

三、使用循环和临时列表

空间占用多

my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_list = []
for item in my_list:
    if item not in unique_list:
        unique_list.append( item )
print(unique_list)

Python对list列表进行去重的几种方法

四、使用OrderedDict(Python 3.6 之前字典不保证顺序,较早版本的 Python 使用这种方法)

from collections import OrderedDict
 
my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5]
unique_编程客栈list = list( OrderedDict.fromkeys(my_list) )
print(unique_list)

Python对list列表进行去重的几种方法

五、实战案例

假设有这么一个列表 ['厦门中山路', '厦门医学院', '厦门鼓浪android屿', '厦门软件园']

希望找出列表中的中文分词,并输出无重复分词。

输出:

['厦门', '中山路', '医学院', '鼓浪屿', '软件园']

import jieba
 
words = ['厦门中山路', python'厦门医学院', '厦门鼓浪屿', '厦门软件园']
unique_list = []
for word in words:
    # 分词
    unique_list = unique_lijsst +list( jieba.cut(word) )
 
# 去重
unique_list = list( {}.fromkeys(unique_list).keys() )
print( unique_list )

输出:

Python对list列表进行去重的几种方法

到此这篇关于Python对list列表进行去重的几种方法的文章就介绍到这了,更多相关Python list列表去重内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号