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) 

 

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方QQ

扫描上方二维码或点击一键加群,免费领取价值599元网课,加群暗号:599。 一键加群

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,领80G学习资料
QQ交流群
领取免费网课
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
领取80G学习资料

巨划算
现在开通
2020OAO训练营
免费试听
课程资料、活动优惠 领取通道