前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 基础知识第9讲:序列之集合

python 基础知识第9讲:序列之集合

作者头像
小海怪的互联网
发布2019-08-23 15:45:15
3620
发布2019-08-23 15:45:15
举报

1.集合

和列表非常相似 不点同

  • 1.集合当中只能存储不可变对象
  • 2.集合中存储的对象是无序的(不是按照元素的插入顺序进行保存的)
  • 3.集合中不能出现重复元素
  • 4.集合只能添加不可变对象

1.1集合的创建

  • 使用 {}来创建集合,其中重复的数据会被去除,和字典很像,但是没有key
代码语言:javascript
复制
s = {10,2,3,4,1,2,3,1,1,2,10}
print(s)
  • 集合只能添加不可变对象
代码语言:javascript
复制
s= {[1,2,3],[4,5,6]}
print(s)
#运行报错
  • 集合不能直接使用 s = {} 来创建集合,如果用此方法创建,创建出来的数据类型为字典,所以如果想要创建空的集合要用 set()函数
  • set()
  • set()可以将序列(列表,字符串等 )和字典转换成为集合
代码语言:javascript
复制
s = set([1,2,3,4,5,1,2,3,4,5])
  • 使用set()将字典转换为集合时,只会包含字典中的键(key)
代码语言:javascript
复制
s = set({'a':1,'b':2,'c':3})
  • 创建一个集合
代码语言:javascript
复制
s = {'a','b',1,2,3}
print(s,type(s))
print(s[0])

此时运行会报错,因为集合不支持通过索引的方法取值,而如果想要通过索引的方式来取值的话,可以将其转成列表再取,方法如下:

代码语言:javascript
复制
print(list(s)[0])

1.2 集合当中一些方法的使用

  • 1 in 和 Not in 是用来检查集合当中的元素
  • 2 len() 来获取集合当中的元素数量(集合的长度)
  • 3 add() 向集合当中添加元素 s.add(10)
  • 4 update() 将一个集合当中的元素添加到当前集合中
代码语言:javascript
复制
 s2 = set('python')
 s.update(s2)
  • 5 pop() 随机删除集合当中的一个元素
代码语言:javascript
复制
 {'o', 1, 2, 3, 'y', 10, 'a', 'b', 'n', 'h', 't', 30, 'p'}
result = s.pop()  # 返回的是删除的元素信息
print(result)
  • 6 remove() 删除集合中指定的元素 s.remove(1)
  • 7 clear() 清空集合

1.3 集合的运算

代码语言:javascript
复制
s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
  • & 交集运算,也就是取2个集合中都包含的元素数据
代码语言:javascript
复制
result = s1 & s2
print(result)
# {3, 4, 5}
  • | 并集运算
代码语言:javascript
复制
result = s1 | s2
print(result)
# {1, 2, 3, 4, 5, 6, 7}
  • - 差集
代码语言:javascript
复制
result = s1 - s2
print(result)
#{1, 2}
  • ^ 亦或集 指的是集合里面不相交的部分
代码语言:javascript
复制
result = s1 ^ s2
print(result)
# {1, 2, 6, 7}
  • <= 检查一个集合是否是另一个集合的子集
代码语言:javascript
复制
 a = {1,2,3}
 b = {1,2,3,4,5,6}
 result = a <= b # a集合是b集合的子集      b集合是a集合的超集  结果为 True
 result = {1,2,3} < {1,2,3}
  • < 检查一个集合是否是另一个集合的真子集
代码语言:javascript
复制
print('result = ',result,s1,s2)
  • >= 检查一个集合是否是另一个集合的超集
  • > 检查一个集合是否是另一个集合的真超集
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.集合
    • 1.1集合的创建
      • 1.2 集合当中一些方法的使用
        • 1.3 集合的运算
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档