Python:集合操作总结

集合是一组无序排列不重复元素集

[注]:集合的最大作用是对一个序列进行去重操作

一、集合的分类

  在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset)。对于可变集合(set)是允许添加和删除元素的;而对于不可变集合(frozenset)则不允许对集合进行添加和删除操作。

二、集合的创建

  与列表([])、元组(())和字典({})不同,集合的创建没有特别的语法格式,因此如果想要创建集合就必须调用创建集合所需的工厂函数:set()和frozenset()  [注]:这是创建集合的唯一方法

1 s=set(‘Tomwenxing‘) #创建可变的集合
2 t=frozenset(‘Tomwenxing‘) #创建不可变的集合
3 new_s=set([1,2,3,4,5,6]) #列表转化为可变集合
4 new_t=frozenset([1,2,3,4,5,6]) #列表转化为不可变集合
5
6 print(s)
7 print(t)
8 print(new_s)
9 print(new_t)

三、集合操作符

[说明]:

(1)B-A:读作“A在B中的差集或相对补集”,意为“只属于B但不属于A的元素组成的集合

(2)AΔB:读作“A和B的对称差分或对称差集”,意为“集合A与集合B中所有不属于A∩B的元素的集合

四、集合的方法

A、适用于所有集合的方法

1.s.issubset(t):如果s是t的子集,返回True,否则返回False

1 name=set(‘Tomwenxing‘)
2 sub_name=set(‘Tom‘)
3 print(sub_name.issubset(name))

2.s.issuperset(t):如果s是t的超集,返回True,否则返回False

1 name=set(‘Tomwenxing‘)
2 sub_name=set(‘Tom‘)
3 print(name.issuperset(sub_name))

3.s.union(t):返回一个新的集合,该集合是s和t的并集

[注]:s.union(t)相当于“s|t”

1 name1=set(‘Tom‘)
2 name2=set(‘Jack‘)
3 print(name1.union(name2))#并集操作
4 print(name1|name2)#并集操作

4.s.intersection(t):返回一个新的集合,该集合是s和t的交集

[注]:s.intersection(t)相当于“s&t”

1 name1=set(‘Tomwenxing‘)
2 name2=set(‘Tomhandking‘)
3 print(name1.intersection(name2))
4 print(name1&name2)

5.s.difference(t):返回一个新的集合,该集合是s和t的差集,即该集合中的元素是s的成员但不是t的成员

[注]:s.difference(t)相当于“s-t”

1 name1=set(‘Tomwenxing‘)
2 name2=set(‘Tom‘)
3 print(name1.difference(name2))
4 print(name1-name2)

6.s.symmetric_deference(t):返回一个新的集合,该集合是s和t的对称差集,即返回所有s和t独有的(非共同拥有的)元素集合

[注]:s.symmetric_deference(t)相当于“s^t”

1 name1=set(‘Tomwenxing‘)
2 name2=set(‘Tomhandking‘)
3 print(name1.symmetric_difference(name2))
4 print(name1^name2)

7.s.copy():返回一个集合s的浅拷贝,效率比工厂函数要好

B、仅适用于可变集合(set)的方法

1.s.update(t):用集合t来更新集合s,更新后集合s在原有元素的基础上增加原先集合t所独有的元素

1 number1=set(‘1234567‘)
2 number2=set(‘56789‘)
3 number1.update(number2)
4 print(number1)

2.s.intersection_update(t):将集合s更新为集合s与集合t的交集

1 number1=set(‘1234567‘)
2 number2=set(‘56789‘)
3 number1.intersection_update(number2)
4 print(number1)

3.s.difference_update(t):将集合s更新为集合s与集合t的差集

1 number1=set(‘1234567‘)
2 number2=set(‘56789‘)
3 number1.difference_update(number2)
4 print(number1)

4.s.symmetric_difference_update(t):将集合s更新为集合s与集合t的对称差集

1 number1=set(‘1234567‘)
2 number2=set(‘56789‘)
3 number1.symmetric_difference_update(number2)
4 print(number1)

5.s.add(obj):在集合s中添加对象obj

1 number1=set(‘1234567‘)
2 number1.add(‘Tomwenxing‘) #作为一个整体添加到集合中
3 print(number1)

6.s.remove(obj):从集合s中删除对象obj,如果obj不是集合s中的元素,将引发keyerror

1 language=set([‘C‘,‘Python‘,‘C++‘,‘Java‘])
2 language.remove(‘Java‘)
3 print(language)

7.s.discard(obj):如果obj是集合s中的元素,就从集合s中删除对象obj

1 language=set([‘C‘,‘Python‘,‘C++‘,‘Java‘])
2 language.discard(‘Java‘)
3 print(language)

8.s.pop():删除集合s中的任意一个对象,并返回它

1 language=set([‘C‘,‘Python‘,‘C++‘,‘Java‘])
2 element=language.pop()
3 print(element)
4 print(language)

9.s.clear():删除集合s中的所有元素

时间: 2024-08-25 05:26:19

Python:集合操作总结的相关文章

Python 集合操作

4.集合操作 集合是一个无序的,不重复的数据组合, 他的主要作业如下. 1.去重,把一个列表变成集合,就自动去重了 2.关系测试,测试两组数据之前的交集.差集.并集等关系 list_1 = [1,4,5,7,3,6,7,9]list_1 = set([list_1])list_2 = set([2,6,0,66,22,8,4]) list_3 = set([1,3,7]) list_4 = set([5,6,8]) #交集:把相同的打印出来 print(list_1 & list_2) prin

Python集合操作

#集合(确定的无序的一组数据) #基本操作 #创建集合 #空集合 var = set() print(var,type(var)) #具有数据的集合 var = {'zhangwang','zhangbo','zhanglang'} print(var,type(var)) #成员检测 result = 'zhangbo' in var print(result) result = 'zhangsan' not in var print(result) #集合推导式 var = {'蚂蚱','螳

python集合操作和内置方法

一 集合基本介绍 集合:在{}内用逗号隔开每个值,集合的特点: 每个值必须是不可变类型 集合是无序的 集合的值不能重复 集合的应用场景较少,最重要的应用场景为进行关系运算以及去重. 二 集合的操作 1 求两个集合的交集 set1 = {1,2,3,4,'a','b','c','d'} set2 = {4,5,6,7,'c','d','e','f'}print(set1 & set2) # 输出结果为 (4,'c','d') 2 求两个集合的并集 set1 = {1,2,3,4,'a','b','

Python 集合set添加删除、交集、并集、集合操作符号

在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1.创建集合 set类是在python的sets模块中,大家现在使用的python2.3中,不需要导入sets模块可以直接创建集合.>>>set('boy')set(['y', 'b', 'o']) 2.集合添加.删除 集合的添加有两种常用方法,分别是add和update.集合add方法:是把要

Python学习笔记-Day3-set集合操作

set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(tuple),6.字典(dict),7.集合(set),8.布尔型(bool) 1.集合创建 2.集合操作   2.1 set.add 添加元素 往set中添加一个元素只有set中不存在该元素时,才会加入该元素   2.2 set.clear 清空所有元素 从set中移除所有元素   2.3 set.

Python 集合set()添加删除、交集、并集、集合操作详解

在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 创建集合set python set类是在python的sets模块中,大家现在使用的python2.7.x中,不需要导入sets模块可以直接创建集合.>>>set('boy')set(['y', 'b', 'o']) 集合添加.删除 python 集合的添加有两种常用方法,分别是add

python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding:utf-8from com.wenhy.crawler_baidu_baike import url_manager, html_downloader, html_parser, html_outputer print "爬虫百度百科调度入口" # 创建爬虫类class SpiderMai

用python(2.7)自定义实现SQL的集合操作

有的时候需要在不同的数据库实例之间做集合操作,这就无法直接使用SQL语句的join,left join了.相同类型的数据库之间虽然也有类似于DBLINK和FEDERATED之类的东西,但一来这些东西不同的数据库之间是不能通用的,还有就是这些都要在数据库服务端上操作的,即使是dba要走这么一个申请流程也是非常麻烦的.所以就想自己写几个常用的: inner_join:内连接操作,t1 join t2 on t1.col=t2.col,返回连接字段相等的行,方式包括下面的外连接用的都是最简单的nest

python基础10 字符串操作,字典操作,集合操作

本节内容: 字符串操作 字典操作 集合操作 字符串操作 概述 字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等.请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示: "I'm OK" 类似的,如果字符串包含",我们就可以用'

Python自动化四--json模块使用,集合操作,函数

内容: json模块 集合操作 函数 一,json模块 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数: json.dump(): 对数据进行编码. json.load(): 对数据进行解码. json格式存储--小例子 import json stu_info = { 'laowang':{ 'cars':['BMW