Python中集合类型(set)学习小结
2015-01-28 16:17
447 查看
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)学习小结
- python学习六:异常处理、map/reduce/filter内置函数、python集合(set)类型、元组转列表
- Python学习笔记之集合类型(set, frozeset)
- Python学习20:集合类型(set)
- python 学习笔记——set() class 集合类型
- python学习笔记5.1-核心类型-集合set类型[转]
- Python集合(set)类型的操作
- [转]Python集合(set)类型的操作
- Python :集合类型(set)
- Python集合(set)类型的基本操作
- Python集合(set)类型的操作
- Python集合(set)类型的操作
- python 学习笔记(3)数据类型2 (元组(tuple),集合,字典)
- Python集合(set)类型的操作
- 3.python的set集合的操作示例——《深入python》学习
- Python学习笔记--集合set
- Python集合(set)类型的操作
- Python 集合类(set)学习
- Scala学习笔记--集合类型Queue,Set
- Python set集合类型操作总结