python中set集合
一、set集合的特性
- 访问速度快
- 天生解决重复问题
二、set变量申明
- s1 = set()
- s2 = set([1,2,3])
备注:第二种方式在set类中直接传入一个序列。
三、set类中方法大全
1.add函数:
def add(self, *args, **kwargs): # real signature unknown
'''--向一个set集合中添加一个元素--'''
"""
Add an element to a set.
This has no effect if the element is already present.
"""
add
例:
>>> s1 = set()
>>> s1.add(1)
>>> s1
{1}
2.clear函数:
def clear(self, *args, **kwargs): # real signature unknown
'''--清除set集合中的所有元素--'''
""" Remove all elements from this set. """
pass
clear
例:
>>> s1 = set([1,2,3])
>>> s1
{1, 2, 3}
>>> s1.clear()
>>> s1
set()
3.copy函数:
def copy(self, *args, **kwargs): # real signature unknown
'''--返回一个浅拷贝的set集合--'''
""" Return a shallow copy of a set. """
pass
copy
例:
pass
4.difference函数:
def difference(self, *args, **kwargs): # real signature unknown
'''--比较两个set集合得到一个差集--'''
"""
Return the difference of two or more sets as a new set.
(i.e. all elements that are in this set but not the others.)
"""
pass
difference
例:
>>> s1 = set(['one','two','three'])
>>> s2 = s1.difference(['one','two'])
>>> s2
{'three'}
5.difference_update函数:
def difference_update(self, *args, **kwargs): # real signature unknown
'''-新set集合与原来set相比较,从原来set集合中删除新set集合中存在的元素-'''
""" Remove all elements of another set from this set. """
pass
difference_update
例:
>>> s1 = set(['one','two','three'])
>>> s1.difference_update(['one','three'])
>>> s1
{'two'}
6.discard函数:
def discard(self, *args, **kwargs): # real signature unknown
'''-指定删除set集合中的某个元素,如果指定元素不在set集合中,则返回一个none-'''
"""
Remove an element from a set if it is a member.
If the element is not a member, do nothing.
"""
pass
discard
例:
①指定元素存在set集合中:
>>> s1 = set(['one','two','three'])
>>> s1.discard('one')
>>> s1
{'three', 'two'}
②指定元素不存在集合中:
>>> s1 = set(['one','two','three'])
>>> a=s1.discard('four')
>>> print(a)
None
7.intersection函数:
def intersection(self, *args, **kwargs): # real signature unknown
'''--返回两个set集合交集--'''
"""
Return the intersection of two sets as a new set.
(i.e. all elements that are in both sets.)
"""
pass
intersection
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one','three'])
>>> s3 = s1.intersection(s2)
>>> s3
{'one', 'three'}
8.intersection_update函数:
def intersection_update(self, *args, **kwargs): # real signature unknown
'''--将老set集合的值更新为新set集合与老set集合交集--''
""" Update a set with the intersection of itself and another. """
pass
intersection_update
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one','three'])
>>> s1.intersection_update(s2)
>>> s1
{'one', 'three'}
9.isdisjoint函数:
def isdisjoint(self, *args, **kwargs): # real signature unknown
'''--如果两个set集合没有交集,返回True--'''
""" Return True if two sets have a null intersection. """
pass
isdisjoint
例:
①没有交集:
>>> s1 = set(['one','two','three'])
>>> s2 = set([1,2,3])
>>> s1.isdisjoint(s2)
True
②有交集:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one'])
>>> s1.isdisjoint(s2)
False
10.issubset函数:
def issubset(self, *args, **kwargs): # real signature unknown
'''--判断当前这个set集合是否是另一个set集合的子集--'''
""" Report whether another set contains this set. """
pass
issubset
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one'])
>>> s2.issubset(s1) #是子集的情况
True
>>> s1.issubset(s2) #不是子集的情况
False
11.issuperset函数:
def issuperset(self, *args, **kwargs): # real signature unknown
'''--判断当前这个set集合是否是另外一个set集合父集--'''
""" Report whether this set contains another set. """
pass
issuperset
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one'])
>>> s1.issuperset(s2) #s1是s2的父集情况
True
>>> s2.issuperset(s1) #s2不是s1父集的情况
False
12.pop函数:
def pop(self, *args, **kwargs): # real signature unknown
'''--随机删除set集合中的元素,并且返回被删除的元素--'''
"""
Remove and return an arbitrary set element.
Raises KeyError if the set is empty.
"""
pass
pop
例:
>>> s1 = set(['one','two','three'])
>>> s1.pop()
'one'
>>> s1
{'three', 'two'}
13.remove函数:
def remove(self, *args, **kwargs): # real signature unknown
'''--指定删除set集合中的元素--'''
"""
Remove an element from a set; it must be a member.
If the element is not a member, raise a KeyError.
"""
pass
remove
例:
>>> s1 = set(['one','two','three'])
>>> s1.remove("one")
>>> s1
{'three', 'two'}
14.symmetric_difference函数:
def symmetric_difference(self, *args, **kwargs): # real signature unknown
'''--两个set集合的对称集--'''
"""
Return the symmetric difference of two sets as a new set.
(i.e. all elements that are in exactly one of the sets.)
"""
pass
symmetric_difference
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one','two','four'])
>>> s3 = s1.symmetric_difference(s2)
>>> print(s3)
{'three', 'four'}
15.symmertric_difference_update函数:
def symmetric_difference_update(self, *args, **kwargs):
'''--把两个set集合的交集之外的值,更新替换当前set集合--'''
""" Update a set with the symmetric difference of itself and another. """
pass
symmetric_difference_update
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one','two','four'])
>>> s1.symmetric_difference_update(s2)
>>> print(s1)
{'three', 'four'}
16.union函数:
def union(self, *args, **kwargs): # real signature unknown
'''--sets集合的并集赋值给一个新的set集合--'''
"""
Return the union of sets as a new set.
(i.e. all elements that are in either set.)
"""
pass
union
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one','two','four'])
>>> s3=s1.union(s2)
>>> print(s3)
{'one', 'three', 'four', 'two'}
17.update函数:
def update(self, *args, **kwargs): # real signature unknown
'''--更新一个set集合,更新的set集合的值是当前集合和其他集合的并集--'''
""" Update a set with the union of itself and others. """
pass
update
例:
>>> s1 = set(['one','two','three'])
>>> s2 = set(['one','two','four'])
>>> s1.update(s2)
>>> print(s1)
{'three', 'two', 'four', 'one'}
三、总结
1.函数中有带update的函数,或者本身就是update函数,是更新这个set集合本身,并不会将得到的结果重新赋值给一个变量。
2.函数一些函数不带update的函数,如:difference(取不同),intersection(取交集),symmetric_difference(取交集之外的值),union(取并集)等,将得到的结果返回给一个变量。
python中set集合的更多相关文章
- python 中的集合set
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- Python中的集合类型分类和集合类型操作符解析
集合类型 数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements). Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...
- python学习之【第七篇】:Python中的集合及其所具有的方法
1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...
- 14.python中的集合
什么是集合?正如其字面的意思,一堆东西集中合并到一起.乍一听貌似和容器没什么差别,嗯,好吧,集合也算是一种容器. 在学习这个容器有什么不同之前,先看看集合是如何创建的: a = set() #可变集合 ...
- python中的集合
在python中,普通集合是可变数据类型 通过以下案例说明: >>> s = {1, 2, 3, 4} >>> id(s) 2108634636808 >&g ...
- 8、python中的集合
集合是python中无序.可变的数据结构.集合与字典类似,集合中的元素必须是可哈希的(等同于字典中的键),也就是说集合中的元素是唯一.不可变的数据类型.这里前面说集合可变,后面又说集合中的元素不可变是 ...
- python中的集合、元组和布尔
#元组,元组跟列表一样,只不过列表可读可写,而元组一般用来只读,不修改#python中不允许修改元组的数据,也包括不能删除其中的元素. t1 = ('a','b','c','d','s','a') & ...
- Python 中的集合 --set
前言 在Python中,我们用[]来表示列表list,用()来表示元组tuple,那{}呢?{}不光可用来定义字典dict,还可以用来表示集合set. 集合 set 集合(set)是一个无序的不重复元 ...
- python 中的集合(set) 详解
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种. 创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方 ...
随机推荐
- 容器--HashMap
一.前言 看了下上一篇博客已经是半个月前,将近20天前了,很惭愧没有坚持下来,这期间主要是受奥运会和王宝强事件的影响,另外加上HashMap中关于rehash的实现比较不好理解,所以就一拖再拖.如果能 ...
- Linux命令详解之—less命令
Linux下还有一个与more命令非常类似的命令--less命令,相比于more命令,less命令更加灵活强大一些,今天就给大家介绍下Linux下的less命令. 更多Linux命令详情请看:Linu ...
- Bug管理工具之Mantis_配置篇
角色管理员.经理.开发人员.修改人员.报告人员.查看人员,权限从大到小递减.分配: My View Settings 'assigned' => '1', 'unassigned' => ...
- GJM: Unity3D基于Socket通讯例子 [转载]
首先创建一个C# 控制台应用程序, 直接服务器端代码丢进去,然后再到Unity 里面建立一个工程,把客户端代码挂到相机上,运行服务端,再运行客户端. 高手勿喷!~! 完全源码已经奉上,大家开始研究吧! ...
- 原博客地址http://blog.chinaunix.net/uid/20656672.html弃用
原博客地址http://blog.chinaunix.net/uid/20656672.html弃用
- .Net中的并行编程-6.常用优化策略
本文是.Net中的并行编程第六篇,今天就介绍一些我在实际项目中的一些常用优化策略. 一.避免线程之间共享数据 避免线程之间共享数据主要是因为锁的问题,无论什么粒度的锁 ...
- 前端优秀作品展示,JavaScript 版水果忍者
<水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版的切水果游戏由百度 JS 小组开发,采用 vml + svg 绘图,使用了 Rapha ...
- jQuery立体式数字滚动条增加
1.html结构 <div class="numberRun1"></div> 2.js <script type="text/javasc ...
- Sublime text 3 快捷键的使用
快捷键的便捷使用: ctr+shift+n:打开新的sublime text ctr+shift+w:关闭sublime text ctr+o:打开 某个文件 ctrl+n:新建一个文本 ctrl+w ...
- [deviceone开发]-echart的简单报表示例
一.简介 echart是一个常用的基于h5的报表库.这个例子简单展示了实现折线图,柱状图,圆环图和圆饼图的使用. 并实现和do的非html部分的数据交互. 二.效果图 三.相关下载 https://g ...