Python中集合类型(set)学习小结
admin
2023-07-31 02:13:35
0

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\’}

提示
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}

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...