首页 技术 正文
技术 2022年11月6日
0 收藏 400 点赞 615 浏览 1163 个字

一.概念与定义

集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。

元素不可重复,只能是固定数据类型元素。

集合(set)属于Python无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。 集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。类型本身都是可变数据类型,不能作为集合的元素出现。

二.创建于删除

直接将集合赋值给变量即可创建一个集合对象。

>>> a = {3, 5} #创建集合对象

也可以使用函数set()函数将列表、元组、字符串、range对象等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个;如果原序列或迭代对象中有不可哈希的值,无法转换成为集合,抛出异常。

>>> a_set = set(range(8, 14)) #把range对象转换为集合

>>> b_set = set([0, 1, 2, 3, 0, 1, 2, 3, 7, 8]) #转换时自动去掉重复元素

>>> b_set {0, 1, 2, 3, 7, 8}

>>> x = set() #空集合

三.操作与运算

Python—集合(在我的世界,你就是唯一)

上述操作符表达了集合类型的4种基本操作,交集(&)、并集(|)、差集(-)、补集(^),操作逻辑与数学定义相同.

Python—集合(在我的世界,你就是唯一)

集合类型有10个操作函数或方法

Python—集合(在我的世界,你就是唯一)

集合类型主要用于三个场景:成员关系测试、元素去重复和删除数据项,例子如下。

>>>”BIT” in {“PYTHON”, “BIT”, 123, “GOOD”} #成员关系测试

True

>>>tup = (“PYTHON”, “BIT”, 123, “GOOD”, 123) #元素去重

>>>set(tup) {123, ‘GOOD’, ‘BIT’, ‘PYTHON’}

>>>newtup = tuple(set(tup)–{‘PYTHON’})

# 去重同时删除数据项 (‘GOOD’, 123, ‘BIT’)

集合类型与其他类型最大的不同在于它不包含重复元素,因此,当需要对一维数据进行去重或进行数据重复处理时,一般通过集合来完成。

四.应用实例

可以使用集合快速提取序列中单一元素,即提取出序列中所有不重复元素。

如果使用传统方式的话,需要编写下面的代码:

>>> import random

>>> listRandom = [random.choice(range(10000)) for i in range(100)]

>>> noRepeat = []

>>> for i in listRandom :

if i not in noRepeat :

noRepeat.append(i)

>>> len(listRandom)

>>> len(noRepeat)

而如果使用集合的话,只需要下面这么一行代码就可以了,可以参考上面的代码对结果进行验证。

>>>newSet = set(listRandom)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731