Python中集合类型(set)学习小结

作者:junjie 时间:2023-03-18 13:56:27 

set 是一个无序的元素集合,支持并、交、差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引、分片等类序列的操作。

初始化


s0 = set()
d0 = {}
s1 = {0}
s2 = {i % 2 for i in range(10)}
s = set('hi')
t = set(['h', 'e', 'l', 'l', 'o'])
print(s0, s1, s2, s, t, type(d0))


运行结果:


set() {0} {0, 1} {'i', 'h'} {'e', 'o', 'l', 'h'} <class 'dict'>


提示
1.s0、d0:使用 {} 只能创建空字典,创建空集必须用 set();
2.ss、sl:set 中的元素是 无序不重复 的,可以利用这个特点去除列表中的重复元素。

运算操作


print(s.intersection(t), s & t)  # 交集
print(s.union(t), s | t)   # 并集
print(s.difference(t), s - t)  # 差集
print(s.symmetric_difference(t), s ^ t) # 对称差集
print(s1.issubset(s2), s1 <= s2) # 子集
print(s1.issuperset(s2), s1 >= s2)      # 包含

运行结果:


{'h'} {'h'}
{'l', 'h', 'i', 'o', 'e'} {'l', 'h', 'i', 'o', 'e'}
{'i'} {'i'}
{'i', 'l', 'o', 'e'} {'i', 'l', 'o', 'e'}
True True
False False


提示
1.非运算符的方法接受任何可迭代对象作为参数,如 s.update([0, 1]);
2.其他等价操作:s.update(t) 与 s |= t,s.intersection_update(t) 与 s &= t,s.difference_update(t) 与 s -= t,s.symmetric_difference_update(t) 与 s ^= t 等。

基本方法


s = {0}
print(s, len(s))   # 获取集合中的元素的总数
s.add("x")         # 添加一个元素
print(s)
s.update([1,2,3])  # 添加多个元素
print(s, "x" in s) # 成员资格测试
s.remove("x")      # 去掉一个元素
print(s, "x" not in s) 
s.discard("x")     # 如果集合存在指定元素,则删除该元素
c = s.copy()       # 复制集合    
print(s, s.pop())  # 弹出集合中的一个不确定元素,如果原集合为空则引发 KeyError
s.clear()          # 删除集合中的元素
print(s, c)


运行结果:


{0} 1
{0, 'x'}
{0, 'x', 1, 2, 3} True
{0, 1, 2, 3} True
{1, 2, 3} 0
set() {0, 1, 2, 3}

标签:Python,集合类型,set
0
投稿

猜你喜欢

  • Git可视化教程之Git Gui的使用

    2022-12-10 03:12:06
  • 使用client-go工具调用kubernetes API接口的教程详解(v1.17版本)

    2024-05-08 10:52:08
  • Python纯代码通过神经网络实现线性回归的拟合方式

    2022-07-12 23:54:59
  • Python List列表对象内置方法实例详解

    2023-08-21 12:49:58
  • MySQL 创建多对多和一对一关系方法

    2024-01-29 07:52:37
  • mysql 判断是否为子集的方法步骤

    2024-01-26 03:53:11
  • Hadoop分布式集群的搭建的方法步骤

    2022-06-08 06:02:42
  • Python实现感知机(PLA)算法

    2023-11-19 22:07:53
  • Python实现约瑟夫环问题的方法

    2021-09-07 19:41:28
  • 解决pytorch 交叉熵损失输出为负数的问题

    2022-04-29 10:17:33
  • My Sql 1067错误与编码问题的解决方案

    2024-01-19 12:53:53
  • 总结近几年Pytorch基于Imgagenet数据集图像分类模型

    2023-01-06 01:15:31
  • Python统计序列和文件中元素的频度

    2021-02-03 15:03:43
  • python处理xml文件操作详解

    2021-11-10 10:31:24
  • 简评:JavaScript将成Silverlight的最大对手?

    2008-10-17 10:29:00
  • Python telnet登陆功能实现代码

    2022-08-13 01:52:56
  • 用FrontPage制作缩略图和图片重叠效果

    2007-11-18 14:45:00
  • python人工智能tensorflow函数tf.nn.dropout使用方法

    2023-11-16 17:45:44
  • JavaScript ES6中const、let与var的对比详解

    2024-05-22 10:37:36
  • vue中使用$http.post请求传参的错误及解决

    2024-04-27 15:47:13
  • asp之家 网络编程 m.aspxhome.com