400-650-7353
您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】Python集合

【Python基础知识】Python集合

  • 发布: python培训
  • 来源:python干货资料
  • 2020-09-18 14:15:52
  • 阅读()
  • 分享
  • 手机端入口

1、集合概念

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

2、创建集合

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

  1. >>> # 创建fruits集合时,'apple'出现了两次 
  2. >>> fruits = {'apple', 'banana', 'watermelon', 'strawberry', 'apple'} 
  3. >>> fruits  # 查看fruits集合,'apple'只有保留了一个 
  4. {'apple', 'strawberry', 'banana', 'watermelon'} 

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

  1. >>> fruits = set(['apple', 'banana', 'watermelon', 'strawberry', 'apple'])   # 以列表为参数创建集合 
  2. >>> fruits 
  3. {'apple', 'strawberry', 'banana', 'watermelon'} 
  4. >>> numbers = set((1, 2, 3, 3, 2, 4))   # 以元组为参数创建集合 
  5. >>> numbers 
  6. {1, 2, 3, 4} 
  7. >>> letters = set('banana')   # 以字符串为参数创建集合 
  8. >>> letters 
  9. {'b', 'a', 'n'} 

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

  1. >>> empty = {} 
  2. >>> empty 
  3. {} 
  4. >>> type(empty) 
  5. <class 'dict'> 

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

  1. >>> empty = set() 
  2. >>> empty  # 空集合表示为set() 
  3. set() 
  4. >>> type(empty) 
  5. <class 'set'> 

3、集合添加项

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

  1. >>> numbers = {1, 2, 3} 
  2. >>> numbers.add(4)   # 向numbers集合中添加整数4 
  3. >>> numbers 
  4. {1, 2, 3, 4} 
  5. >>> numbers.add('five')   # 向numbers集合中添加字符串'five' 
  6. >>> numbers 
  7. {1, 2, 3, 4, 'five'} 
  8. >>> numbers.add((5, 6, 7))   # 向numbers集合中添加元组(5, 6, 7) 
  9. >>> numbers 
  10. {1, 2, 3, 4, (5, 6, 7), 'five'} 

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

  1. >>> fruits = {'apple', 'strawberry', 'banana', 'watermelon'} 
  2. >>> fruits 
  3. {'banana', 'apple', 'watermelon', 'strawberry'} 
  4. >>> fruits.add('apple')   # 添加已经存在的项'apple' 
  5. >>> fruits   # fruits集合并没有改变 
  6. {'banana', 'apple', 'watermelon', 'strawberry'} 

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

  1. >>> numbers = {1} 
  2. >>> numbers 
  3. {1} 
  4. >>> numbers.update((5, 6, 7)) 
  5. >>> numbers   # 可以看出update()方法和add()方法的区别 
  6. {1, 5, 6, 7} 
  7. >>> numbers.update({4, 5}, {6, 7, 8})   # 参数为两个集合 
  8. >>> numbers 
  9. {1, 4, 5, 6, 7, 8} 

4、集合删除项

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

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> numbers.remove(1) 
  3. >>> numbers 
  4. {2, 3, 5, 7} 
  5. >>> numbers.remove(3) 
  6. >>> numbers 
  7. {2, 5, 7} 

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

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> numbers.remove(4) 
  3. Traceback (most recent call last): 
  4.   File "<stdin>", line 1, in <module> 
  5. KeyError: 4 

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

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> numbers.discard(1) 
  3. >>> numbers 
  4. {2, 3, 5, 7} 
  5. >>> numbers.discard(3) 
  6. >>> numbers 
  7. {2, 5, 7} 
  8. >>> numbers.discard(4) 
  9. >>> numbers  # 什么也没发生 
  10. {2, 5, 7} 

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

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

  1. >>> numbers = {1, 2, 3, 5, 7} 
  2. >>> 1 in numbers   # 1在numbers集合中,返回True 
  3. True 
  4. >>> 3 in numbers   # 3在numbers集合中,返回True 
  5. True 
  6. >>> 4 in numbers   # 4不在numbers集合中,返回False 
  7. False 
  8. >>> 4 not in numbers   # not in是in的反向操作 
  9. True 

6、查看集合的长度

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

  1. >>> empty = set() 
  2. >>> len(empty) 
  3. >>> numbers = {1, 2, 3, 5, 7} 
  4. >>> len(numbers) 

 

文章“【Python基础知识】Python集合”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2020/55734.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME