python集合的创建方式

您所在的位置:网站首页 python中集合的创建 python集合的创建方式

python集合的创建方式

#python集合的创建方式| 来源: 网络整理| 查看: 265

#创作者招募令#

第六十七节:创建集合

集合作为序列形式的一种,在Python中也有应用。

先来看看集合在数学中的定义:集合(aggregate)是“确定的一堆东西”,集合里的“东西”则称为元素。而现代的集合一般被定义为:由一个或多个确定的元素所构成的整体。

在Python中,集合就是用来保存不同的元素的序列,它最好的应用就是去重,因为集合中的每一个元素都是唯一的。

集合分为两种:可变集合(set)和不可变集合(frozenset),现在学习的是可变集合。

在Python中,有关于集合的操作主要有:集合的创建;集合的添加和删除;集合的交、并和差集运算。

今天先来学习如何创建集合。

集合的创建有两种方法:直接赋值法和set()函数法。

1、直接赋值法

和Python的其它序列一样,采用直接赋值法就可以直接创建一个集合,具体语法格式如下:

setname = {“element1”,“element2”,“element3”,……,“elementn”,}

从格式上看,和其它的序列创建方法基本一样,就是集合名setname直接使用赋值运算符等号“=”赋值,等号后面的元素内容使用英文半角的大括号“{ }”括起来,各个元素之间依然使用英文半角的逗号“,”分隔。

这里虽然和字典一样使用大括号“{ }”,但是只要记住字典的元素是由键值对组成的(详见前第62节内容),就完全可以区分所创建的是字典还是集合了。

下面举一个例子:以九十年代香港娱乐圈四大天王来创建一个集合,详见下图:

d01373f082025aaf57dbd5d42f662062024f1a52.jpeg?token=b2ea9f18aff729e68ff434caf616d59a集合内容的无序输出

创建这样一个集合很简单,从上图中,将这个集合输出了四次,但是每次输出的元素顺序都不一样,这就是集合的一个特性:集合中的元素是无序的。

因为集合中元素的无序性,所以无法使用索引来输出集合中的特定元素,就以上面的香港四大天王为例,同样的元素内容,当它是一个元组的时候,可以指定输出其中索引号为2的元素;当它是一个集合的时候,一样的操作,就会出现错误提示,详见下图:

2934349b033b5bb5b9ec93b6e3585e3fb700bcd5.jpeg?token=20b65ba48419008eb5eb172b3285394f集合不能使用索引

本节一开始就说过,集合的元素是具有唯一性的,就上面的例子内容,创建一个列表和一个集合,来看看集合元素唯一性的表现,详见下图:

10dfa9ec8a1363278d332b3844042bea09fac776.jpeg?token=56ac4c26eeb032a304ba8795e3339237集合元素的唯一性

从上面的实例,可以清晰地看到,虽然在列表中可以看到有两个“张学友”存在,但是在创建集合的时候输入两个重复的元素“张学友”后,最后集合都视为只有一个“张学友”元素,这就是集合元素唯一性具体体现。

2、set()函数创建集合

因为字典和集合都是使用大括号“{ }”来把元素内容包括进去的,在前面学习字典的创建的时候,已经学过直接赋值给没有内容的大括号“{ }”就可以创建一个空字典。

学到集合的时候,显然这样直接赋值就不可能创建一个空集合了,那么,Python中创建空字典则是使用set()函数来操作。

来创建一个空字典和一个空集合,使用type()来判断一下,详见下图:

7dd98d1001e93901acfd2845af67dfe137d19664.jpeg?token=c8349e131483f0de523400e70edc3221空集合的创建

看上面的例子,虽然输出的是一模一样的空空的一对大括号,但是经过type()函数判断,一个是dict(字典),一个是set(集合),空集合的创建方法就是这样了。

使用set()函数不但能创建空集合,还能将列表和元组直接转换为集合。

举例来说,就使用90年代香港娱乐圈四大天王和四大花旦的名字来创建一个列表和元组,然后使用set()函数将其转换为集合,详见下图:

a9d3fd1f4134970a6b47df6b40415acea6865dd4.jpeg?token=80bed5c8c969a65e305ef7325ba20b13set函数创建集合

这样就将一个列表和元组直接转换成了一个集合。

可以看出来,set()函数创建集合是比较快捷的,所以Python中创建集合时一般优先选择set()函数方法。

明天要开始学习的“集合的添加和删除”的内容,请拭目以待。

感谢各位朋友一直以来的支持,今后有更加深入内容持续奉上。

为自己加油,我是“学海无涯自学不息!”。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3