-
2022-02-27 22:17:26
python的set只能对单个的元素,和元组使用,如果是列表的话,比如
lst = [[1,2],[1,2],[2,3]]
这个时候用set(lst)会报错,只能用元组的形式
lst = [(1,2),(1,2),(2,3)]
此时,可以去重,只剩2个
更多相关内容 -
Python 利用内置set函数对字符串和列表进行去重的方法
2020-09-20 07:51:38今天小编就为大家分享一篇Python 利用内置set函数对字符串和列表进行去重的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python 使用set快速去重
2022-02-11 20:00:17python 使用set快速去重 以下演示了两个集合的操作 >>> a = set('abracadabra') >>> b = set('alacazam') >>> a # a 中唯一的字母 {'a', 'r', 'b', 'c', 'd'} >>> a - b # 在 a...set特点
- 确定性:元素要么在集合内,要么不在集合内,一定是确定的。
- 互异性:在同一个集合中,元素是唯一的,表现为互异性。
- 无序性:每个元素的地位都是相同的,元素之间是无序的。
python 使用set快速去重
num_list = [1, 1, 2, 3, 3, 3] num_set = set(num_list) # 集合互异性去重 num_list = list(num_set) # 集合转换回列表 print(num_set) # {1, 2, 3} print(num_list) # [1, 2, 3]
以下演示了两个集合的操作
>>> a = set('abracadabra') >>> b = set('alacazam') >>> a # a 中唯一的字母 {'a', 'r', 'b', 'c', 'd'} >>> a - b # 在 a 中的字母,但不在 b 中 {'r', 'd', 'b'} >>> a | b # 在 a 或 b 中的字母 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # 在 a 和 b 中都有的字母 {'a', 'c'} >>> a ^ b # 在 a 或 b 中的字母,但不同时在 a 和 b 中 {'r', 'd', 'b', 'm', 'z', 'l'}
set的使用方法
方法 说明 num2_set.isdisjoint(num1_set) 判断两个集合有交集,若没有则返回True,若有则返回False num2_set.issubset(num1_set) 判断指定集合是否为该方法参数集合的子集 num2_set.issuperset 判断该方法的参数集合是否为指定集合的子集 num1_set.intersection(num2_set) 返回两个集合的交集(新集合) num1_set.intersection_update(num2_set) 返回一个集合的交集,不同于intersection()方法(返回一个新集合),而是直接在第一个集合中移除不同的元素 num1_set.symmetric_difference(num2_set) 返回两个集合中不重复的元素集合 num1_set.symmetric_difference_update(num2_set) 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中 num1_set.union(num2_set) 返回两个或多个集合的并集(新集合) num1_set.difference(num2_set) 返回两个或多个集合之间的差集(新集合) num1_set.difference_update(num2_set) 返回一个集合的差集,不同于difference()方法(返回一个新集合),而是直接在第一个集合中移除相同的元素 -
Python-使用内置set函数去重
2020-07-20 11:47:18Python中有关列表、字符串、元组的去重方法前言
python里面常用的数据结构有列表、集合、字典、字符串、元组
有的时候会遇到需要将相同的数据进行去重的操作,你可以使用内置函数set()
函数来去重。
因为集合内部默认是不能出现相同的元素的,所以集合不需要进行去重。思路
set()
函数其实是将其他的数据类型转换为集合类型的一个函数。
我们去重的中心思想就是集合之中不能出现相同的元素
,一旦有相同的元素出现时就会将其合并。
然后你可以结合其他的类型转换函数,将去重后的集合转换回来。
因为字典的结构比较特殊,如果通过set()
函数去重时,将会被删去某些元素,所以不能直接用set()
去重相关介绍
一、列表去重
lis = [1,1,1,1,1,2,2,22] print(lis) print(list(set(lis)))
二、元组去重
tup = (1,2,1,2,1,2,223) print(tup) print(tuple(set(tup)))
三、字符串去重
对字符串进行去重和前面两个数据类型去重不同,不能直接用
str()
函数将去重后的集合转换为字符串
而且用这种方法去重后,字符串中的字符顺序也会发生随机变更`string1 = "aaabbbcccc" print(string1) string2 = ''.join(list(set(string1))) print(string2)
-
Python对列表去重的多种方法(四种方法)
2020-12-23 20:46:101. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集 orgList = [1,0,3,7,7,5] #list()方法是把字符串str或元组转成数组 formatList = list(set(orgList)) print (formatList) 结果: -
Python:使用set函数去重且保证原来列表中元素顺序的方法
2021-03-18 08:25:37**set函数**set是集合,在集合中不能包含重复的元素,接收一个list作为参数在使用set()函数对列表中元素进行去重后,列表中的元素会变成乱序。如:list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']list2=['...**
set函数
**
set是集合,在集合中不能包含重复的元素,接收一个list作为参数
在使用set()函数对列表中元素进行去重后,列表中的元素会变成乱序。如:
list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']
list2=['毛刺','切刀','切刀磨损']
s=set(list1)
s2=set(list2)
print('s=',s)
print('s2=',s2)
#输出结果
s= {'切刀磨损', '切刀表面缺陷', '异物', '切刀', '毛刺'}
s2= {'切刀', '切刀磨损', '毛刺'}
若要使去重后的元素顺序保持i不变,如:
list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']
list2=['毛刺','切刀','切刀磨损']
s=list(set(list1))
s2=list(set(list2))
s.sort(key=list1.index)
s2.sort(key=list2.index)
print('s=',s)
print('s2=',s2)
#输出结果为
s= ['毛刺', '切刀', '切刀磨损', '异物', '切刀表面缺陷']
s2= ['毛刺', '切刀', '切刀磨损']
s.sort(key = list1.index) #这句代码让sort()方法按照ist1列表中索引顺序进行排列。
往set中添加元素使用add(key)方法,重复的元素自动过滤。通过remove(key)方法可以删除元素:如:
list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']
list2=['毛刺','切刀','切刀磨损']
s=set(list1)
s2=set(list2)
s.add('缺陷')
s2.add('磨损')
s.remove('切刀')
s2.remove('切刀')
print(s2)
print(s)
#输出结果为
{'切刀磨损', '毛刺', '磨损'}
{'切刀磨损', '切刀表面缺陷', '异物', '毛刺', '缺陷'}
set求交集和并集。如:
list1=['毛刺','切刀','切刀磨损','异物','切刀表面缺陷']
list2=['毛刺','切刀','切刀磨损']
s=set(list1)
s2=set(list2)
#交集,使用&操作符
s3=s&s2
#并集,使用|操作符
s4=s|s2
print('s3=',s3)
print('s4=',s4)
#输出结果如下
s3= {'切刀', '切刀磨损', '毛刺'}
s4= {'切刀', '切刀磨损', '毛刺', '切刀表面缺陷', '异物'}
-
python去重问题:set()函数初步了解
2020-11-21 03:52:37a = ['lisan','lisi','wangwu','wangqi','lisi']>>> aset = set(a)>>> aset{'lisi', 'lisan', 'wangqi', 'wangwu'}>>> #经过set()函数处理就可以将重复的元素剔除,set()是python特有的用来处理集合问题的函数022、... -
Python中set(去重)与sort(排序)函数的使用
2021-11-19 09:48:32#set用于去重,去重之后的a属于class set类型 a=set([-4,-2,0,4,2,2]) print(a) print('**********************') #先把set类型转为list,再用sort进行排序 #注意:sort函数只能对list类型进行操作 b=list(a) b.... -
Python 基础系列 5 - Set 去重原理
2020-10-04 20:35:56在上篇文章《[哈希值和可变性Hash value and mutability](https://blog.csdn.net/wumingxiaoyao/article/details/108912543)》最后说到 set 去重问题,所以这篇主要是通过实践来研究一下 set 去重背后的故事,当然也... -
python列表去重的二种方法
2021-01-20 04:57:07您可能感兴趣的文章:Python3删除排序数组中重复项的方法分析Python实现删除排序数组中重复项的两种方法示例python中对list去重的多种方法Python对列表去重的多种方法(四种方法)Python对字符串实现去重操 -
Python中list去重的方法
2021-09-10 21:54:501.for 循环去重 list1 = [3,2, 1, 3, 4, 7,1,5,2, 1,'测试1','测试2','测试1','测试3'] temp = [] for i in list1: if not i in temp: temp.append(i) print(temp) [3, 2, 1, 4, 7, 5, '测试1', '测试2', '测试3'... -
python Set 去重的底层原理
2020-07-06 14:12:43set的去重是通过两个函数__hash__和__eq__结合实现的。 当两个变量的哈希值不相同时,就认为这两个变量是不同的 当两个变量哈希值一样时,调用__eq__方法,当返回值为True时认为这两个变量是同一个, 应该去除一... -
python中对list去重的多种方法
2021-01-21 17:28:02今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。 问题就是对一个list中的新闻id进行去重,去重之后要保证顺序不变。 直观方法 最简单的思路就是: 复制代码 ... -
Python set() 函数 —— 去重,交集,并集,差集
2020-05-11 13:56:01set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 语法 set 语法: class set([iterable]) 参数说明: iterable -- 可迭代对象对象; 返回值 返回新的... -
python中几种去重的方法
2022-03-26 17:46:391、集合去重 利用set()函数对一个元素集合去重 例如: a = [1,2,3,1,2,4,6] b = list(set(a)) print(b) -
python中set的去重原理
2020-08-22 15:49:31set的去重是通过两个函数__hash__和__eq__结合实现的。 1、当两个变量的哈希值不相同时,就认为这两个变量是不同的 2、当两个变量哈希值一样时,调用__eq__方法,当返回值为True时认为这两个变量是同一个,应该去除... -
python set()去重的底层原理
2020-08-17 15:47:59我们知道对于一个列表最简单的去重方法就是直接调用set函数,利用集合元素的唯一性,就可以做到去重。但是,这个底层原理究竟是什么样的却一直半解。 且看下面剖析 二、重新set实现机制 class Foo: def __init__... -
Python去重操作及相关函数
2020-03-02 16:17:19栗子1:利用 set L1 = (1, 1, 2, 2, 3, 3) print(set(L1)) 结果为: {1, 2, 3} 栗子2:利用 np.unique import numpy as np L1 = (1, 1, 2, 2, 3, 3) print(np.unique(L1)) 结果为: [1 2 3] 栗子3:利用循环... -
你应该知道的python列表去重方法
2020-12-24 23:03:22列表去重是写Python脚本时常遇问题,因为不管源数据来自哪里,当我们转换成列表的方式时,有可能预期的结果不是我们最终的结果,最常见的就是列表中元素有重复,这时候第一件事我们就要做去重处理。 我们先来个最... -
python对数据去重处理
2020-11-20 22:42:31对数据去重有两种处理方式,如下:1、对重复数据去重,并且会自动排序使用函数 set#列表去重list_a = [6, 6, 5, 1, 2, 2, 3, 4, 4, 4, 6, 7, 8, 8, 8, 10]#仅去重list_aa =set(list_a)print(list_aa)结果如下: ... -
Python语法:如何使用set函数去重且保持原来列表索位置引顺序
2019-04-21 20:52:48使用set()函数对列表中元素进行去重后,列表中的元素会变成乱序。如: a = ['a','b','c','d','d','c','b','a'] b = list(set(a)) print(b) 输出结果: ['a', 'c', 'b', 'd'] 若要使去重后的元素顺序跟之前一样,如... -
python列表如何去重
2021-02-03 16:15:15python列表去重的方法:1、利用字典的【fromkeys()】和【keys()】方法去重;2、集合的可迭代方法;3、用for循环,代码为【for x in L3:if x not in L4:L4.append(x)】。python列表去重的方法:第一种方法,利用字典... -
Python字典列表去重
2021-05-17 14:41:53Python字典列表去重 最近在写代码时老是遇到 字典列表 的去重,想当然的就用上了 set(),哈哈哈哈哈直接上代码 list_a = [{"name": "Tom", "age": 18}, {"name": "Jerry", "age": 18}, {"name": "Tom", "age": 18}... -
Python--几种set集合去重的方法
2018-08-04 17:31:121.set集合的去重机制 ps:set集合在内部执行时,首先会先对对象执行hash算法,存储到内存空间, (但在同一次运行过程中两个值相等的对象hash值一样)所以如果两个对象值相等,这时会做出第二步操作, 判断这两个对象的值... -
python之list去重
2020-11-24 04:31:10问题就是对一个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_ids.append... -
python 列表去重
2022-04-08 14:55:58python去重 通过内置的数据结构去重 使用set数据类型直接进行去重 当要去重的元素是dict或者[dict]就不是很理想 通过set去重字典 通过set去重[dict] 可以直接通过set去重列表、元组、字符串 a = (1, 2, 2, 1) ... -
Set去重原理
2021-02-04 07:32:34在上篇文章《哈希值和可变性Hash value and mutability》最后说到set去重问题,所以这篇主要是通过实践来研究一下set去重背后的故事,当然也是参考了网上一些资料得到了一些启发,感谢那些陌生的喜欢分享的博友们。...