Python精讲:Python中集合的概念和创建方法详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中集合的概念和创建方法详解》。本知识点主要内容有:在Python中集合的概念、在Python中创建集合,包含直接使用“{}”创建集合和使用set()函数创建集合。

在前面的教程中我们学习了列表、元组、字典,本文开始讲解序列里面的另一个常用结构--集合。

1、在Python中集合的概念

Python中的集合(set)与数学中的集合概念类似,也是用于保存不重复的元素。

它有可变集合(set)和不可变集合(frozenset)两种。其中,本节所要介绍的set集合是无序可变序列。

在形式上,集合的所有元素都放在一对大括号“{}”中,两个相邻元素间使用逗号“,”分隔。集合最好的应用就是去重,因为集合中的每个元素都是唯一的。

这个和字典类似,字典也是放在“{}”中,不同的是字典在“{}”中是“键值对”,而集合中每一个元素都是独立存在的。

站长在线温馨提示:集合在数学中的定义是:由一个或多个确定的元素所构成的整体。

集合最常用的操作就是创建集合,以及集合的添加、删除、交集、并集和差集等运算,本节课开始讲解集合的创建。

2、在Python中创建集合

在Python中提供了两种创建集合的方法,一种是直接使用“{}”创建;另一种是通过set()函数将列表、元组等可迭代对象转换为集合。

注意:创建一个空集合必须用 set() 而不是 {},因为 {} 是用来创建一个空字典。如下代码所示:

a = {}
print(a)
print(type(a))

运行结果为:

{}
<class 'dict'>
>>> 

2.1、在Python中直接使用“{}”创建集合。

在Python中,创建set集合也可以像列表、元组和字典一样,直接将集合赋值给变量,从而实现创建集合,即直接使用大括号“{}”创建。语法格式如下:

集合名 = {元素1,元素2,...元素n}

站长在线提示你,在集合中,元素的数量没有限制,数据的类型只要是Python中支持的数据类型都可以。

在上面我们谈到了集合的每一个元素都是唯一的,如果输入了重复的元素,Python会自动保留一个,如下:

例如,下面每一行的代码都会创建一个集合:

name = {'美琳','梦洁','雪丽','美莲'}
age = {18,19,19,18}
hunhe = {66,"Python",('人生苦短','我用Python')}
print(name)
print(age)
print(hunhe)

运行代码,结果为:

{'雪丽', '美莲', '美琳', '梦洁'}
{18, 19}
{('人生苦短', '我用Python'), 66, 'Python'}
>>> 

因为在Python中的set集合是无序的,因此每次输出的结果,可能可能不同,如我第二次运行代码的结果是:

{'美琳', '梦洁', '美莲', '雪丽'}
{18, 19}
{'Python', ('人生苦短', '我用Python'), 66}
>>> 

2.2、在Python中使用set()函数创建集合

在Python中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。set()函数的语法格式如下:

setname = set(iteration)

参数说明如下:

setname:表示集合名称;

iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range对象等。另外,也可以是字符串,如果是字符串,返回的集合将是包含全部不重复字符的集合。

例如,下面的每行代码都可以创建一个集合。

set1 = set('我是中国人,我爱自己的祖国')
set2 = set([3.1415926535,99.99])
set3 = set(('Python的设计哲学','优雅','明确','简单'))
print(set1)
print(set2)
print(set3)

运行结果如下:

{'己', '的', '中', '是', '自', ',', '祖', '我', '人', '爱', '国'}
{99.99, 3.1415926535}
{'简单', '明确', 'Python的设计哲学', '优雅'}
>>> 

站长在线提醒你:在Python中创建集合推荐使用set()函数添加哦!

到此为止,今天课程内容《Python中集合的概念和创建方法详解》中的“在Python中集合的概念、在Python中创建集合,包含直接使用“{}”创建集合和使用set()函数创建集合。”就完全解决完毕了有不懂的可以给我留言哦!

欢迎关注【站长在线】,让新手小白系统的零基础学习Python,感谢你对我们的关注,点赞,转发,评论!

dawei

【声明】:石嘴山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。