Python基础——数据类型(集合)
2019-05-28 00:33
441 查看
集合的定义:无序的,不可随机访问的,不可重复的元素的集合;
与数学中的集合概念类似,可对其进行交并差补等操作
集合的分类
1.可变集合(set):可以进行增删改操作
s1 = {1, 2, 3, 4} print(s1, type(s1)) # {1, 2, 3, 4} <class 'set'> s2 = set(" abcdef ") # set(iterable) iterable为可迭代对象,列表,字典,元组等 print(s2, type(s2)) # {'e', 'b', 'a', 'd', ' ', 'f', 'c'} <class 'set'>片
2.不可变集合(frozenset):创建好后无法更改
fs = frozenset("asd") print(fs, type(fs)) # frozenset({'s', 'a', 'd'}) <class 'frozenset'>
注意
1.创建空集合
s3 = set()
2.集合中的元素必须是可哈希的(简单理解即不可变类型)
s4 = {1,2,["q", "w"]} print(type(s4)) # TypeError: unhashable type: 'list' s41 = {1,2,{"q": "w"}} print(type(s41)) # TypeError: unhashable type: 'list'
3.集合中的元素不可重复
集合的常用操作(可变集合)
1.新增元素
s5 = {1, 2, 3}
s5.add(4)
print(s5) #{1, 2, 3, 4}
2.删除元素
s51 = {1, 2, 3} s51.remove(3) print(s51) #{1, 2} result = s51.pop() print(result, s51) #1 {2} s51.clear() print(s51) #set()
3. 查询(遍历)
#for in s6 = {1,2 ,3,4,5} for s in s6: print(s, end=" ") #1 2 3 4 5
集合之间的操作
1.交集
sa = {1,2,3,4,5} sb = {4,5,6} res = sa.intersection(sb) #res = sa & sb print(res) #{4, 5}
2.并集
sa = {1,2,3,4,5} sb = {4,5,6} res = sa.union(sb) #res = sa | sb print(res) #{1, 2, 3, 4, 5, 6}
3.差集
sa = {1,2,3,4,5} sb = {4,5,6} res = sa.difference(sb) # res = sa - sb print(res) #{1, 2, 3}
4.判断
sa = {1,2,3,4,5} sb = {4,5,6} sc = {4,5,6,7} print(sa.isdisjoint(sb)) #False 是或不相交 print(sc.issuperset(sb)) #True 是否包含 print(sc.issubset(sb)) #False 是否属于
注意当可变集合与不可变集合进行运算,结果以运算符左侧为主
相关文章推荐
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
- 8-Python3从入门到实战—基础之数据类型(集合-Sets)
- Python基础——核心数据类型_集合
- python基础一数据类型之集合
- Python全栈学习Day7 集合and基础数据类型及补充
- python基础学习-集合数据类型
- python基础2之数据类型---集合
- Python数据类型 -- 元组合集合
- Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】
- python3 第十五章 - 数据类型之Sets(集合)
- python基础-set、各个数据类型转换、深浅拷贝
- python基础之赋值、算术、复合赋值运算符与常用的数据类型转换
- Python 基础编程 数据类型(一)
- Lesson02_python3之 基础数据类型
- python3 基础数据类型
- python基础---数据类型
- Python基础-数据类型
- 12、Python基本数据类型---集合
- 一、python基础之数据类型与变量
- python教程1:Python基础之数据类型和变量、字符串和编码