精华内容
下载资源
问答
  • python set去重
    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函数对字符串和列表进行去重的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python 使用set快速去重

    2022-02-11 20:00:17
    python 使用set快速去重 以下演示了两个集合的操作 >>> a = set('abracadabra') >>> b = set('alacazam') >>> a # a 中唯一的字母 {'a', 'r', 'b', 'c', 'd'} >>> a - b # 在 a...

    set特点

    1. 确定性:元素要么在集合内,要么不在集合内,一定是确定的。
    2. 互异性:在同一个集合中,元素是唯一的,表现为互异性。
    3. 无序性:每个元素的地位都是相同的,元素之间是无序的。

    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中有关列表、字符串、元组的去重方法

    前言

    python里面常用的数据结构有列表、集合、字典、字符串、元组
    有的时候会遇到需要将相同的数据进行去重的操作,你可以使用内置函数set()函数来去重。
    因为集合内部默认是不能出现相同的元素的,所以集合不需要进行去重。

    思路

    set()函数其实是将其他的数据类型转换为集合类型的一个函数。
    我们去重的中心思想就是集合之中不能出现相同的元素,一旦有相同的元素出现时就会将其合并。
    然后你可以结合其他的类型转换函数,将去重后的集合转换回来。
    因为字典的结构比较特殊,如果通过set()函数去重时,将会被删去某些元素,所以不能直接用set()去重

    相关介绍

    Python列表去重的几种方法

    python常用的去重方式

    Python数据分析实战基础(二):清洗常用4板斧

    一、列表去重

    在这里插入图片描述

    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)
    
    展开全文
  • 1. 使用set的特型,pythonset和其他语言类似, 是一个无序不重复元素集 orgList = [1,0,3,7,7,5] #list()方法是把字符串str或元组转成数组 formatList = list(set(orgList)) print (formatList) 结果:
  • **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= {'切刀', '切刀磨损', '毛刺', '切刀表面缺陷', '异物'}

    展开全文
  • a = ['lisan','lisi','wangwu','wangqi','lisi']>>> aset = set(a)>>> aset{'lisi', 'lisan', 'wangqi', 'wangwu'}>>> #经过set()函数处理就可以将重复的元素剔除,set()是python特有的用来处理集合问题的函数022、...
  • #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 去重背后的故事,当然也...
  • 您可能感兴趣的文章:Python3删除排序数组中重复项的方法分析Python实现删除排序数组中重复项的两种方法示例python中对list去重的多种方法Python对列表去重的多种方法(四种方法)Python对字符串实现去重
  • Python中list去重的方法

    2021-09-10 21:54:50
    1.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'...
  • set去重是通过两个函数__hash__和__eq__结合实现的。 当两个变量的哈希值不相同时,就认为这两个变量是不同的 当两个变量哈希值一样时,调用__eq__方法,当返回值为True时认为这两个变量是同一个, 应该去除一...
  • 今天遇到一个问题,在同事随意的提示下,用了 itertools.groupby 这个函数。不过这个东西最终还是没用上。 问题就是对一个list中的新闻id进行去重去重之后要保证顺序不变。 直观方法 最简单的思路就是: 复制代码 ...
  • set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 语法 set 语法: class set([iterable]) 参数说明: iterable -- 可迭代对象对象; 返回值 返回新的...
  • python中几种去重的方法

    千次阅读 2022-03-26 17:46:39
    1、集合去重 利用set()函数对一个元素集合去重 例如: a = [1,2,3,1,2,4,6] b = list(set(a)) print(b)
  • pythonset去重原理

    2020-08-22 15:49:31
    set去重是通过两个函数__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脚本时常遇问题,因为不管源数据来自哪里,当我们转换成列表的方式时,有可能预期的结果不是我们最终的结果,最常见的就是列表中元素有重复,这时候第一件事我们就要做去重处理。 我们先来个最...
  • 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)结果如下: ...
  • 使用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:15
    python列表去重的方法: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:53
    Python字典列表去重 最近在写代码时老是遇到 字典列表 的去重,想当然的就用上了 set(),哈哈哈哈哈直接上代码 list_a = [{"name": "Tom", "age": 18}, {"name": "Jerry", "age": 18}, {"name": "Tom", "age": 18}...
  • 1.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:58
    python去重 通过内置的数据结构去重 使用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去重背后的故事,当然也是参考了网上一些资料得到了一些启发,感谢那些陌生的喜欢分享的博友们。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,862
精华内容 8,344
关键字:

python的set函数去重