python中集合的特点和注意点?

 我来答
中公教育IT培训优就业
2020-10-09 · 百度认证:北京中公教育科技官方账号
中公教育IT培训优就业
中公教育IT培训品牌,致力于培养互联网领域的高端人才,以学员就业为目的,优质就业为宗旨,是一家集Java开发、Web前端、UI/UE交互设计、大数据、软件测试等课程为一体的IT培训机构。
向TA提问
展开全部

1、集合概念

Python中的集合,是一个无序的、没有重复项的集。它支持数学概念上的集合操作,如交集、并集、补集和差集。集合是可变的,可以在其中添加或删除项。集合用花括号“{}”括起来,并用逗号“,”来分隔其中的项。

2、创建集合

可以使用花括号“{}”创建集合,集合会自动去除重复的项。下面的集合包含了几种用字符串表示的水果:

  • >>> # 创建fruits集合时,'apple'出现了两次 

  • >>> fruits = {'apple', 'banana', 'watermelon', 'strawberry', 'apple'} 

  • >>> fruits  # 查看fruits集合,'apple'只有保留了一个 

  • {'apple', 'strawberry', 'banana', 'watermelon'} 

  • 与列表、元组、字典一样,集合也可以用工厂函数set()来创建。set()函数的参数要么为空,要么为可迭代对象(如列表、元组和字符串):

  • >>> fruits = set(['apple', 'banana', 'watermelon', 'strawberry', 'apple'])   # 以列表为参数创建集合 

  • >>> fruits 

  • {'apple', 'strawberry', 'banana', 'watermelon'} 

  • >>> numbers = set((1, 2, 3, 3, 2, 4))   # 以元组为参数创建集合 

  • >>> numbers 

  • {1, 2, 3, 4} 

  • >>> letters = set('banana')   # 以字符串为参数创建集合 

  • >>> letters 

  • {'b', 'a', 'n'} 

  • 如果想要创建一个空集合,那么使用空的花括号“{}”是行不通的,因为这样创建的是一个空字典:

  • >>> empty = {} 

  • >>> empty 

  • {} 

  • >>> type(empty) 

  • <class 'dict'> 

  • 创建空集合的唯一方式就是使用不包含任何参数的set()函数:

  • >>> empty = set() 

  • >>> empty  # 空集合表示为set() 

  • set() 

  • >>> type(empty) 

  • <class 'set'> 

  • 3、集合添加项

    集合是可变的数据类型,在创建集合之后,可以使用集合的add()方法向其添加项:

  • >>> numbers = {1, 2, 3} 

  • >>> numbers.add(4)   # 向numbers集合中添加整数4 

  • >>> numbers 

  • {1, 2, 3, 4} 

  • >>> numbers.add('five')   # 向numbers集合中添加字符串'five' 

  • >>> numbers 

  • {1, 2, 3, 4, 'five'} 

  • >>> numbers.add((5, 6, 7))   # 向numbers集合中添加元组(5, 6, 7) 

  • >>> numbers 

  • {1, 2, 3, 4, (5, 6, 7), 'five'} 

  • 如果向某个集合中添加已经存在的项,那么什么也不会发生:

  • >>> fruits = {'apple', 'strawberry', 'banana', 'watermelon'} 

  • >>> fruits 

  • {'banana', 'apple', 'watermelon', 'strawberry'} 

  • >>> fruits.add('apple')   # 添加已经存在的项'apple' 

  • >>> fruits   # fruits集合并没有改变 

  • {'banana', 'apple', 'watermelon', 'strawberry'} 

  • 也可以使用集合的update()方法向集合中添加项,参数必须是可迭代对象,如列表、字符串或另一个集合。类似于列表的append()方法和extend()方法,但区别是集合的update()方法总是会将可迭代对象“展开”:

  • >>> numbers = {1} 

  • >>> numbers 

  • {1} 

  • >>> numbers.update((5, 6, 7)) 

  • >>> numbers   # 可以看出update()方法和add()方法的区别 

  • {1, 5, 6, 7} 

  • >>> numbers.update({4, 5}, {6, 7, 8})   # 参数为两个集合 

  • >>> numbers 

  • {1, 4, 5, 6, 7, 8} 

  • 4、集合删除项

    可以使用集合的remove()方法删除某个集合中的指定项:

  • >>> numbers = {1, 2, 3, 5, 7} 

  • >>> numbers.remove(1) 

  • >>> numbers 

  • {2, 3, 5, 7} 

  • >>> numbers.remove(3) 

  • >>> numbers 

  • {2, 5, 7} 

  • 如果试图删除集合中不存在的项,那么Python解释器会报错:

  • >>> numbers = {1, 2, 3, 5, 7} 

  • >>> numbers.remove(4) 

  • Traceback (most recent call last): 

  • File "<stdin>", line 1, in <module> 

  • KeyError: 4 

  • 还可以使用集合的discard()方法来删除项,它和remove()方法唯一的区别是,当试图删除不存在的项时,discard()方法并不会报错,而是什么也不会发生:

  • >>> numbers = {1, 2, 3, 5, 7} 

  • >>> numbers.discard(1) 

  • >>> numbers 

  • {2, 3, 5, 7} 

  • >>> numbers.discard(3) 

  • >>> numbers 

  • {2, 5, 7} 

  • >>> numbers.discard(4) 

  • >>> numbers  # 什么也没发生 

  • {2, 5, 7} 

  • 5、检查某个项是否在集合中

    集合的in操作符用于检查指定项是否在集合中,not in操作符用于检查指定项是否不在集合中:

  • >>> numbers = {1, 2, 3, 5, 7} 

  • >>> 1 in numbers   # 1在numbers集合中,返回True 

  • True 

  • >>> 3 in numbers   # 3在numbers集合中,返回True 

  • True 

  • >>> 4 in numbers   # 4不在numbers集合中,返回False 

  • False 

  • >>> 4 not in numbers   # not in是in的反向操作 

  • True 

  • 6、查看集合的长度

    集合的内建函数len()用于查看集合的长度,即集合中项的个数:

  • >>> empty = set() 

  • >>> len(empty) 

  • >>> numbers = {1, 2, 3, 5, 7} 

  • >>> len(numbers) 

数觉G
2019-12-24
知道答主
回答量:16
采纳率:0%
帮助的人:7.1万
展开全部
集合的特点:
1.不同元素组成(元素不能重复)
2.无序(集合元素的顺序和定义、添加的顺序不一致)
3.集合中的元素必须是不可变类型

集合的注意点:
1.定义一个集合,如果直接写my_set = {},不添加数据,python解释器会把my_set作为字典处理
2.可以在集合中做添加相同元素的操作,但是集合只存储一个
如果想深入了解可以搜索黑马程序员视频库,里面有很多免费的软件测试教程
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式