Python中的集合SET

Python中的set和其他语言类似,是一个无序不重复元素集,基本功能包括关系测试和消除重复元素。集合对象支持union(联合),intersection(交),difference(差)和sysmmetric difference(对称差集)等数学运算。

set支持x in set, len(set)和for x in set等操作。作为一个无序的集合,set不记录元素位置或者插入点,因此不支持indexing, slicing等类序列(sequence-like)的操作。

集合最重要的功能之一就是去重,即消除重复元素。列表中的元素是可以重复的,如果希望去除一个列表中的重复元素,只需要把这个列表转换成集合:

>>> a = [1,4,9,16,25,36]
>>> a.insert(4,4)
>>> a
[1, 4, 9, 16, 4, 25, 36]
>>> b = set(a)
>>> b
set([1, 36, 9, 16, 25, 4])

求两个集合的交集、并集和差集:

>>> c = set([16,25,49,64,81,100])
>>> b
set([1, 36, 9, 16, 25, 4])
>>> c
set([64, 100, 49, 16, 81, 25])
>>> b.intersection(c)            # 交集
set([16, 25])
>>> b & c                        # 交集
set([16, 25])
>>> b.union(c)                   # 并集
set([64, 1, 36, 100, 81, 9, 16, 49, 25, 4])
>>> b | c                        # 并集
set([64, 1, 36, 100, 81, 9, 16, 49, 25, 4])
>>> b.difference(c)              # 差集(元素在b中不在c中)
set([1, 36, 4, 9])
>>> b - c                        # 差集(元素在b中不在c中)
set([1, 36, 4, 9])
>>> c.difference(b)              # 差集(元素在c中不在b中)
set([64, 49, 100, 81])
>>> c - b                        # 差集(元素在c中不在b中)
set([64, 49, 100, 81])
>>> b.symmetric_difference(c)    # 对称差集(元素不同时出现在两个集合中)
set([64, 49, 100, 1, 81, 4, 9, 36])
>>> b ^ c                        # 对称差集(元素不同时出现在两个集合中)
set([64, 49, 100, 1, 81, 4, 9, 36])
>>> b.difference_update(c)       # 用只在b中不在c中的元素更新b
>>> b
set([1, 36, 9, 4])
>>> c
set([64, 100, 49, 16, 81, 25])

向集合中添加元素:

>>> b
set([1, 36, 9, 4])
>>> b.add(16)            # 向b中添加元素16
>>> b.add(25)            # 向b中添加元素25
>>> b
set([1, 36, 9, 16, 25, 4])
>>> b.update(c)          # 将c中所有元素(不包括与b中元素重复的)添加到b中
>>> b
set([64, 1, 36, 100, 81, 9, 16, 49, 25, 4])

包含关系:

True
>>> 121 not in c
True
>>> c.issubset(b)        # c是b的子集
True
>>> b.issuperset(c)      # b是c的超集
True
>>> b > c
True

从集合中删除元素:

>>> b
set([64, 1, 36, 100, 81, 9, 16, 49, 25, 4])
>>> b.remove(121)            # 用remove删除不属于集合的元素会报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 121
>>> b.discard(121)           # 用discard删除不属于集合的元素不会有任何事情发生
>>> b
set([64, 1, 36, 100, 81, 9, 16, 49, 25, 4])
>>> b.discard(49)
>>> for m in (64, 81, 100): b.discard(m)
... 
>>> b
set([1, 36, 9, 16, 25, 4])
时间: 2024-10-09 12:23:43

Python中的集合SET的相关文章

Python中set集合的整理

set集合函数主要用来去除重复: 比如一个列表有多个重复值,可以用set搞掉 >>> l = [1,2,3,4,5,4,3,21] >>> >>> l [1, 2, 3, 4, 5, 4, 3, 21] >>> >>> >>> set(l) set([1, 2, 3, 4, 5, 21]) >>> set  可以做交集,并集,差集 set的增删改 增:>>> a

14.python中的集合

什么是集合?正如其字面的意思,一堆东西集中合并到一起.乍一听貌似和容器没什么差别,嗯,好吧,集合也算是一种容器. 在学习这个容器有什么不同之前,先看看集合是如何创建的: a = set() #不可变集合 b = frozenset() #可变集合 print a print b 集合分为两种,一种是不可变的,一种是可变的,两者的差异后面会分析. 不过,我们创建了两个空的集合貌似么什么意思. 为了使其有意义,我们就先来看集合最重要的功能:去重. a = ('aaa',123,123,123) b

【Python 学习笔记 2】Python中常用集合类型:List,Tuple,Set,Dict使用简介

在使用Python编程中,我们最常用的几种集合类型是:List,Tuple,Set,Dict:下面简单聊聊这几种集合类型: List 列表:相当于一个数组,不过list的长度是自动变化的而且列表元素自由的,不必每个元素都是同一种类型.它的简洁的定义方式是a=[].是一种有序组合,可以删除和添加其中的元素: List的基本操作如下: ##生成一个list,并赋值给list_ex >>> list_ex=[1,3,4,"list","Tuple",&q

python中set集合常用方法

今天开始学习python的集合相关方法的使用: #集合的定义:集合是无序的,不重复的数据集合 set={"123","456","11"} #add:向集合中填加元素 Add an element to a set. set.add(563) print(set) #Clear:清除集合中的元素 Remove all elements from this set. set.clear() print(set)返回空 #Copy:复制一个集合并赋值

Python中set集合使用方法

set是一个无序且不重复的元素集合,它有可变集合(set())和不可变集合(frozenset)两种,可以对set()集合进行创建.添加.删除.交集.并集和差集的操作,非常实用,以下是具体用法: 一.创建集合set python set类是在python的sets模块中,新的python版本可以直接创建集合,不需要导入sets模块. 具体用法: 1. set('old') 2. set('o','l','d') 二.集合添加 python 集合的添加有两种常用方法,分别是add和update,具

python中set集合详解

定义 定义:在{}中用逗号隔开,集合具备以下3个特点: 1.每个元素必须是不可变类型 2.集合内没有重复元素 3.集合内元素无序 my_set = {1, 2, 3, 4} # 本质上 my_set = set({1, 2, 3, 4}) # 注意1:列表是索引对应值,字典是key对应值,均可以取得单个值. # 而集合类型既没有索引也没有key值相对应,所以无法取得单个的值.对集合来说 # 主要功能在于去重与关系元素,没有取出单个值的需求 # 注意2:{}既被用于定义字典也被用于定义集合.但是字

python中set集合的使用

集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. python 的集合类型和 其他语言类似, 是一个无序不重复元素集 基本功能包括关系测试和消除重复元素.集合对象还支持union(联合), intersection(交), difference(差)和sysmmetricdifference(对称差集)等数学运算 1.先看下python 集合 类型的不重复性,可以把它转换成集合类型,然后在由集合类型转换成其他的类型. a = [2,3,4,2,1]a = set(a)

python中的集合

集合:用于包含一组无序的对象: 可以理解为将一个列表放入{}中组成了集合 创建集合 :使用set函数或者使用{} 并提供要存储的项 如: s = set([3,5,9,10]) #创建一个数据集合 e = {1,2,3,4,6,7,8} #也可以这样创建一个数据集合 t = set('Hello') #创建一个唯一字符的集合 与列表.元组的区别: 1,集合是无序的 2, 无法通过数字进行索引 3,集合元素不能重复 每个元素都具有唯一性 检查t集合中的值 : print(t) 输出 无序的一个集合

细说Python中的集合

集合的作用: 1)去重:把一个列表变成集合,就自动去重了: 2)关系测试:得出两组数据中的交集.差集.并集: 1 #去重instance 2 list=[1,34,2,45,34,67,89,67] 3 list=set(list) 4 print(list) 5 print(type(list)) 6 7 #result 8 #改数据已经进行过去重,并且list变成了set:注意:集合是无序的哦 9 {1, 34, 67, 2, 45, 89} 10 <class 'set'> 集合的增删改