本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Python集合的概念是什么?Python集合的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
集合的描述
集合是无序的、不重复的数据集合,它本身是可变的,但里面的元素是不可变类型(这里要注意,即使是含有列表的元组也不可以,必须是完全不可变类型)
创建集合
创建集合可以使用大括号{}来创建,元素间用逗号分隔,但是不能用它来创建空集合,因为{}创建的是空字典。
也可以使用set()函数来创建集合,其中的参数为可迭代对象即可(比如字符串、列表、元组、迭代器等),前提是元素中必须是不可变类型。
1 2 3 4 5 6 7 | i = 'abcdefg'
a =set(i)
print (type(a))
print (a)
----------
< class 'set' >
{ 'b' , 'a' , 'f' , 'd' , 'g' , 'e' , 'c' }
|
增 add update
add(elem)
可以向集合中添加新元素,如果该元素已存在则不做任何改变
1 2 3 4 5 | s1 = {1,2,3}
s1.add( 'qwe' )
print (s1)
----------
{1, 2, 3, 'qwe' }
|
update(*others)
可将其他可迭代对象(比如字符串、列表、元组)添加到集合中,自动删除重复元素
1 2 3 4 5 6 | s1 = {1,2,3}
it = [3,4,5]
s1.update(it)
print (s1)
----------
{1, 2, 3, 4, 5}
|
删 remove(elem) discard(elem) pop() clear()
remove(elem)
将元素从集合中删除,如果该元素不存在则会报错。
1 2 3 4 5 | s1 = {1,2,3}
s1.remove(2)
print (s1)
----------
{1, 3}
|
discard(elem)
和remove一样可以将元素从集合中删除,区别是如果元素不存在则不会报错。
1 2 3 4 5 | s1 = {1,2,3}
s1.discard(6)
print (s1)
----------
{1, 2, 3}
|
pop()
从集合中随机删除一个元素,并且返回该元素,如果集合为空则会报错
1 2 3 4 5 6 7 | s1 = {1,2,3}
a = s1.pop()
print (s1)
print (a)
----------
{2, 3}
1
|
clear()
用于清空集合。
几种运算方法
对于集合来讲有几种运算方法:交集、并集、差集、反交集、子集、超集
下面用代码来详细说明每种方法的用法
1 2 3 4 5 6 7 8 9 10 | s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
print ( '交集:' ,s1 & s2) #可用&或者intersection,输出一个新的集合,包含共同拥有的元素
print ( '交集:' ,s1.intersection(s2))
print ( '并集:' ,s1 | s2) #可用|或者union,输出一个新的集合,包含两个集合中所有的元素(去重)
print ( '并集:' ,s1.union(s2))
print ( '差集:' ,s1 - s2) #可用 - 或者difference,输出一个新的集合,包含前一个集合中除去共有的元素
print ( '差集:' ,s1.difference(s2))
print ( '反交集:' ,s1 ^ s2) #可用^或者 symmetric_difference,输出一个新的集合,包含两个集合中除去共有的元素后剩余的所有元素
print ( '反交集:' ,s1.symmetric_difference(s2))
|
1 2 3 4 5 6 7 8 | 交集: {3, 4, 5}
交集: {3, 4, 5}
并集: {1, 2, 3, 4, 5, 6, 7}
并集: {1, 2, 3, 4, 5, 6, 7}
差集: {1, 2}
差集: {1, 2}
反交集: {1, 2, 6, 7}
反交集: {1, 2, 6, 7}
|
子集与超集,简单来讲就是一个集合中的元素包含另一个集合中所有的元素,则“大的”集合叫超集,“小的”叫子集
1 2 3 4 5 6 7 | s1 = {1,2,3}
s2 = {1,2,3,4,5}
print (s1.issubset(s2)) #输出为True,s1是s2的子集
print (s2.issuperset(s1))#输出为True,s2是s1的超集
----------
True
True
|
另外,使用frozenset('集合名'),可以把集合变成不可变集合
以上就是Python集合的概念是什么?Python集合的介绍的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python使用pylab库实现绘制直方图功能
Python要学哪些内容?Python程序员学习路线图
pip是啥
Python中的seth是什么意思
Python属于开源语言吗
Python之正弦曲线实现方法分析
Python怎么读写excel文件
Python3.4使用循环的实例详解
最详细的Python库总结
Python中x的平方怎么写
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python集合的概念是什么?Python集合的介绍