基础数据类型之集合

打印 上一主题 下一主题

主题 894|帖子 894|积分 2682

1.集合的定义

在{}内用逗号分开多个元素,多个元素满足以下三个条件:
1.集合元素必须是不可变类型
2.集合元素无序
3.集合内元素没有重复(打印出来会自动去重)
d = {} 默认是定义空字典
需要定义空集合,需要使用s = set()
2,集合的作用

(1)关系运算
  1. # 如何取出这两个人共同的朋友呢?
  2. friend1=['zhang','yang','liu','tao']
  3. friend2=['zhang','yang','xiao','wang']
  4. # 没有学集合之前可以可以采取for循环的方法,如下:
  5. l=[]
  6. for i in friend1:
  7.     if i in friend2:
  8.         l.append(i)
  9. print(l)
复制代码
集合中提供了一种更简单的方法,具体见4内置方法
(2)去重
3.类型转换

使用set()方法,将括号里的数据转为集合类型,set方法自动对传入的数据调用了for循环的方法,循环之后的数据必须满足集合元素的要求!!
4.内置方法

4.1关系运算

friend1={'zhang','yang','liu','tao'}
friend2={'zhang','yang','xiao','wang'}
1.取交集,取出两者共同的好友
  1. res = friend1 & friend2
  2. print(res)
复制代码
2.取并集,取出所有的好友
  1. res = friend1 | friend2
  2. print(res)
复制代码
3.取差集,取friend1独有的好友
  1. res = friend1 - friend2
  2. print(res)
  3. # 留下谁独有的就用谁去减另一个
复制代码
4.取对称差集,取friend1和friend2独有的好友
  1. print(friend1 ^ friend2)
复制代码
5.父子集,包含关系
  1. s1={1,2,3}
  2. s2={1,2}
  3. print(s1>s2) # true,s1是s2的父亲
复制代码
4.2去重

1.只能针对不可变类型去重
  1. priny(set([1,1,1,2,3])) # 结果为{1,2,3}
复制代码
2.无法保证原来的顺序
4.3 成员运算 in\not in

4.4 len长度方法

4.5 for循环集合取值

4.6其他内置方法

增删改查
  1. # 1.删除集合中的元素discard方法
  2. s={1,2,3}
  3. s.discard(3) # 删除元素不存在不报错
  4. s.remove(4) # 删除元素不存在报错
  5. res = s.pop() #随机删一个并返回改删除值
  6. # 2.更新集合
  7. s.update({1,3,5,6}) # 原集合不存在的元素添加,存在的去重
  8. # 3.添加一个元素
  9. s.add(8)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表