-
2021-09-14 11:17:34
方法一:使用内置set方法来去重
>>> lst1=[2,3,41,2,4,3,4]
>>> lst2=list(set(lst1))
>>> print(lst2)
[41, 2, 3, 4]方法二:使用字典中fromkeys()的方法来去重
>>> lst1=[2,3,41,2,4,3,4]
>>> lst2={}.fromkeys(lst1).keys()
>>> print(lst2)
dict_keys([2, 3, 41, 4])方法三:使用常规方法来去重
[root@localhost ~]# cat listuniq.py
lst1 = [2,3,41,2,4,3,4]
temp = []
for item in lst1:
if not item in temp:
temp.append(item)
print(temp)[root@localhost ~]# python listuniq.py
[2, 3, 41, 4]方法四: 使用列表推导来去重
>>> lst1=[2,3,41,2,4,3,4]
>>> temp = []
>>> [temp.append(i) for i in lst1 if not i in temp]
[None, None, None, None]
>>> print(temp)
[2, 3, 41, 4]方法五: 使用sorted函数来去重
>>> lst1=[2,3,41,2,4,3,4]
>>> lst2 = sorted(set(lst1), key=lst1.index)
>>> print(lst2)
[2, 3, 41, 4]备注: 前面的几种方法,有几种是不能保证其顺序的,比如用set()函数来处理!
如果要删除列表列表中的重复项,则同样可以用下面的几种方法来处理
>>> # 方法一:
>>> data = [2, 1, 3, 4, 1]
>>> [item for item in data if data.count(item) == 1]
[2, 3, 4]
>>> # 方法二:
>>> data = [2, 1, 3, 4, 1]
>>> list(filter(lambda x:data.count(x) == 1, data))
[2, 3, 4]更多相关内容 -
你应该知道的python列表去重方法
2020-12-24 23:03:22列表去重是写Python脚本时常遇问题,因为不管源数据来自哪里,当我们转换成列表的方式时,有可能预期的结果不是我们最终的结果,最常见的就是列表中元素有重复,这时候第一件事我们就要做去重处理。 我们先来个最... -
python列表去重的二种方法
2021-01-20 04:57:07您可能感兴趣的文章:Python3删除排序数组中重复项的方法分析Python实现删除排序数组中重复项的两种方法示例python中对list去重的多种方法Python对列表去重的多种方法(四种方法)Python对字符串实现去重操 -
Python对列表去重的多种方法(四种方法)
2020-12-23 20:46:10无聊统计了下列表去重到底有多少种方法。下面小编给大家总结一下,具体内容详情如下; 开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种... -
对python列表里的字典元素去重方法详解
2020-09-19 17:17:04今天小编就为大家分享一篇对python列表里的字典元素去重方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python列表去重的多种方法
2021-01-22 16:44:45python中列表去重 怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢? 去重之后顺序会改变 set去重 #列表去重改变原列表的顺序了 l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l1)) print(l2) # [1, 2, 3, 4...python中列表去重
怎么快速的对列表进行去重呢,去重之后原来的顺序会不会改变呢?
去重之后顺序会改变set去重
#列表去重改变原列表的顺序了 l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l1)) print(l2) # [1, 2, 3, 4, 5, 6]
但是,可以通过列表中索引(index)的方法保证去重后的顺序不变。
l1 = [1,4,4,2,3,4,5,6,1] l2 = list(set(l1)) l2.sort(key=l1.index) print(l2) # [1, 4, 2, 3, 5, 6]
itertools.groupby
''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' import itertools l1 = [1,4,4,2,3,4,5,6,1] l1.sort() l = [] it = itertools.groupby(l1) for k,g in it: l.append(k) print(l) # [1, 2, 3, 4, 5, 6]
fromkeys
l1 = [1,4,4,2,3,4,5,6,1] t = list({}.fromkeys(l1).keys()) # 解决顺序问题 t.sort(key=l1.index) print(t) # [1, 4, 2, 3, 5, 6]
通过删除索引
''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' l1 = [1,4,4,2,3,4,5,6,1] t = l1[:] for i in l1: while t.count(i) >1: del t[t.index(i)] # 解决顺序问题 t.sort(key=l1.index) print(t) # [1, 4, 2, 3, 5, 6]
去重不改变顺序
建立新列表[]
l1 = [1,4,4,2,3,4,5,6,1] new_l1 = [] for i in l1: if i not in new_l1: new_l1.append(i) print(new_l1) # [1, 4, 2, 3, 5, 6]
reduce方法
from functools import reduce l1 = [1,4,4,2,3,4,5,6,1] func = lambda x,y:x if y in x else x + [y] print(reduce(func,[[],]+l1)) # [1, 4, 2, 3, 5, 6]
-
Python实现嵌套列表去重方法示例
2020-09-20 22:44:51python可以说2017比较火的一个语言了,下面这篇文章主要给大家介绍了关于利用Python实现嵌套列表去重的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。 -
Python 列表去重去除空字符的例子
2020-09-19 00:41:07今天小编就为大家分享一篇Python 列表去重去除空字符的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python 列表去重
2022-04-08 14:55:58python去重 通过内置的数据结构去重 使用set数据类型直接进行去重 当要去重的元素是dict或者[dict]就不是很理想 通过set去重字典 通过set去重[dict] 可以直接通过set去重列表、元组、字符串 a = (1, 2, 2, 1) ...python去重
通过内置的数据结构去重
- 使用set数据类型直接进行去重
当要去重的元素是dict或者[dict]就不是很理想
通过set去重字典
通过set去重[dict]
可以直接通过set去重列表、元组、字符串
a = (1, 2, 2, 1) print("去重元组", set(a)) # 去重元组 # a = [1, 2, 3, 2] print("去重列表", set(a)) # 去重列表 # a = '123123' print("去重字符串", set(a)) # 去重字符串
- 通过字典的key去重
因为字典的key是不可以重复的,所以我们就可以通过字典的key来进行去重.
a = [1, 2, 3, 1, 2] dict1 = {} for i in a: dict1[i] = '' print("通过字典的可以来进行去重", dict1.keys())
- 通过python内置的函数来去重
我们可以使用reduce这个方法来进行去重
官方的一段介绍
Apply a function of two arguments cumulatively to the items of a sequence,
from left to right, so as to reduce the sequence to a single value.
For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
((((1+2)+3)+4)+5). If initial is present, it is placed before the items
of the sequence in the calculation, and serves as a default when the
sequence is empty.
加粗样式a = [1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7] def fun1(a, b): if not str(b) in a: a.append(str(b)) return a c = reduce(fun1, [[], ] + a) print(c)
- 使用set数据类型直接进行去重
-
Python对列表去重的4种方法
2022-02-23 17:26:06开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。 下面的代码都在Python3下测试通过, Python2下请自行测试 1....开发中对数组、列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序。
下面的代码都在Python3下测试通过, Python2下请自行测试
1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集
1
2
3
4
orgList
=
[
1
,
0
,
3
,
7
,
7
,
5
]
#list()方法是把字符串str或元组转成数组
formatList
=
list
(
set
(orgList))
print
(formatList)
结果:
1
[0, 1, 3, 5, 7]
2. 使用keys()方法
1
2
3
4
orgList
=
[
1
,
0
,
3
,
7
,
7
,
5
]
#list()方法是把字符串str或元组转成数组
formatList
=
list
({}.fromkeys(orgList).keys())
print
(formatList)
结果:
1
[0, 1, 3, 5, 7]
上面两种方法的问题是:结果是没有保持原来的顺序。
3. 循环遍历法
1
2
3
4
5
6
orgList
=
[
1
,
0
,
3
,
7
,
7
,
5
]
formatList
=
[]
for
id
in
orgList:
if
id
not
in
formatList:
formatList.append(
id
)
print
(formatList)
结果:
1
[1, 0, 3, 7, 5]
but,这样的代码不够简洁,不够高端
4. 按照索引再次排序
1
2
3
4
orgList
=
[
1
,
0
,
3
,
7
,
7
,
5
]
formatList
=
list
(
set
(orgList))
formatList.sort(key
=
orgList.index)
print
(formatList)
结果:
1
[1, 0, 3, 7, 5]
-
python实现列表去重的方法
2019-06-29 21:14:51对列表alist=[1,2,2,4,4,6,7],实现去除重复元素。 方法一:首先考虑使用set集合,因为使用集合可以去除重复元素...方法二:考虑先对列表进行遍历,然后新建一个空列表,对原有列表进行遍历,判断该元素是否在新的... -
Python:列表去重的两种方法
2021-10-13 21:44:12方法一:使用 set() 方法进行去重 # 一、准备一个带有重复数据的列表 list_1 = [1,2,3,1,5,6,2] # 二、使用 set() 方法进行去重处理 #【注:仅用 set() 方法处理后的数据类型并不是 list 】 result = set(list_1) ... -
python列表list保留顺序去重的实例
2020-12-25 05:02:51常规通过迭代或set方法,都无法保证去重后的顺序问题 如下,我们可以通过列表的...以上这篇python列表list保留顺序去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 -
python列表常见的5种去重方法
2021-12-26 11:04:10列表去重在python面试和实际运用中,十分常见,也是最基础的重点知识。 以下总结了5种常见的列表去重方法 一、使用for循环实现列表去重 此方法去重后,原顺序保持不变。 # for循环实现列表去重 list1 = ['a', 'b', 1... -
python列表去重的两种方法
2021-03-10 22:40:27python列表去重的两种方法 1. 使用循环进行遍历,将重复的元素去掉。 def test1(): lst = [1,2,5,6,3,5,7,3] tmp = [] for it in lst: if it not in tmp: tmp.append(it) print(tmp) 结果: [1, 2, 5, 6, 3, ... -
Python列表去重的六种方法
2020-10-28 15:12:10方法一: 使用内置set方法来去重 >>> lst1 = [2, 1, 3, 4, 1] >>> lst2 = list(set(lst1)) >>> print(lst2) [1, 2, 3, 4] 方法二: 使用字典中fromkeys()的方法来去重 >>> lst1 ... -
python列表去重后保持它们原先的排序
2022-02-15 10:50:36使用列表的sort方法: 第一种方式: li1 = ['b','c','d','b','c','a','a'] li2 = list(set(li1)) li2.sort(key=li1.index) print(li2) 打印结果: ['b', 'c', 'd', 'a'] 第二种方式: li1 = ['b','c','d','b','c',... -
Python列表去重的4种实现方法
2020-11-26 09:08:46这篇文章主要为大家详细介绍了Python列表去重的4种实现方法,具有一定的参考价值,可以用来参考一下。对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!开发中对数组、列表去重是非常... -
Python列表怎么去重 Python列表去重的三种方法
2019-06-30 11:54:001. 列表去重 li = [] for item in my_list: if item not in li: li.append(item) 2.集合去重 list(set(my_list)) 3.字典去重 dict1 = dict.fromkeys(my_list, '') li = dict1.keys ... -
python--列表去重3种方法
2021-01-18 09:07:09#去重1 list1 = [2, 2, 5, 7, 7, 3, 5, 10] print(set(list1)) #去重2 list1 = [2, 2, 5, 7, 7, 3, 5, 10] list2 = [] for i in list1: if i not in list2: list2.append(i) print(list2) 第三种方法需要倒序去重,... -
python 列表去重及sort用法
2022-02-27 08:10:08去重(均保持了原来的顺序) ① orgList = [1,5] formatList = list(set(orgList)) formatList.sort(key=orgList.index) print (formatList) Sort 默认reverse=False 升序 ① x = ['mmm', 'mm', 'mm'... -
python 列表去重(数组)的几种方法
2021-03-17 02:52:45在抓取页面图片时,为避免重复抓取,将抓取的img结果(结果集是list类型的)通过集合去重。这里总结了下网上搜集到的几种方法。一、方法1代码如下ids = [1,2,3,3,4,2,3,4,5,6,1]news_ids = []for id in ids:if id not ... -
python中对list去重的多种方法
2021-01-21 17:28:02问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。 直观方法 最简单的思路就是: 复制代码 代码如下: ids = [1,2,3,3,4,2,3,4,5,6,1] news_ids = [] for id in ids: if id not in news_ids: news...