杨桃的Python基础教程——第5章:Python数据类型(五)集合

本人CSDN博客专栏:https://blog.csdn.net/yty_7
Github地址:https://github.com/yot777/Python-Primary-Learning

5.7  六种数据类型之五: Sets(集合)

集合(set)是一个无序不重复元素的集。根据定义,我们可以得到集合的以下三个特点:

特点一:元素不允许重复,如果在初始化一个列表时输入了重复的元素,Python会自动将重复的元素去掉,只保留一个

特点二:元素没有特定顺序,同一个集合多次使用的时候元素不一定按照原有顺序排列

特点三:不能加索引来访问特定元素,但可以在for循环中遍历所有元素

可以使用大括号 或者 set()函数创建set集合,注意:创建一个空集合必须用 set() 而不是 { }

【如果单独是一个大括号{ }表示一个空字典】

# 举例1:
>>> s = {1,2,3,1,3,4,5}
>>> print(s)
{1, 2, 3, 4, 5}    #Python会自动将重复的元素去掉,只保留一个
>>> print(s[0])    #报错,因为集合中的元素不能加索引
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing

使用add()函数向集合中添加元素。注意:因为元素在集合中是无序的,因此添加元素的位置也不确定

# 举例2:
>>> t=set()      #创建一个空集合
>>> t.add('a')   #向集合中添加元素a
>>> print(t)
{'a'}
>>> t.add('b')   #向集合中添加元素b
>>> print(t)
{'b', 'a'}       #元素b的位置出现在a的前面
>>> t.add('c')
>>> print(t)     #向集合中添加元素c
{'b', 'c', 'a'}  #元素c的位置在a和b中间,可见集合中元素的位置是不确定的
>>> t.add('a')   
>>> print(t)     #集合中已有元素a因此不会再次添加元素a
{'b', 'c', 'a'}

可以用运算符来进行集合的元素关系测试和消除重复元素

# 举例3:
>>> a = set('abracadabra') 
>>> b = set('alacazam')
>>> a
{'r', 'c', 'a', 'd', 'b'}   #集合a的元素被Python自动去重
>>> b
{'c', 'a', 'l', 'm', 'z'}   #集合b的元素被Python自动去重

# 举例4:
>>> a - b          #求a和b的差集
{'d', 'b', 'r'}
>>> a | b          #求a和b的并集
{'r', 'c', 'a', 'd', 'b', 'l', 'm', 'z'}
>>> a & b          #求a和b的交集
{'c', 'a'}
>>> a ^ b          #求a和b中不同时存在的元素
{'r', 'd', 'b', 'l', 'm', 'z'}

参考教程:

廖雪峰的Python教程

https://www.liaoxuefeng.com/wiki/1016959663602400

廖雪峰的Java教程

https://www.liaoxuefeng.com/wiki/1252599548343744

Python3 教程 | 菜鸟教程
https://www.runoob.com/python3/
 

如果您觉得本篇本章对您有所帮助,欢迎关注、评论、点赞!Github欢迎您的Follow、Star!
 

发布了25 篇原创文章 · 获赞 3 · 访问量 2168

猜你喜欢

转载自blog.csdn.net/yty_7/article/details/104136099
今日推荐