Python集合&运算符
一、集合
1.集合(set)是一个无序的不重复元素序列。
2.创建方法:使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
3.集合方法:
- 增加元素add
- 删除元素:pop,remove
4.集合的交集,并集,差集
- a&b: 集合a和b中都包含了的元素
- a | b :集合a或b中包含的所有的元素
- a-b :集合a中包含而集合b中不包含的元素
二、集合的特性
1.集合中只能存放不可变类型的数据(可以用来区分可变类型数据和不可变类型的数据)
2.集合中不能存在重复的元素(对列表、元组进行去重)
3.集合中不能存在重复元素,定义的是写再多的重复元素都会自动清除
4.集合是无序的
注意:
可变类型的数据:列表,字典,集合
不可变类型的数据:数值,字符串,元组
5.例子
2.集合中不能存在重复的元素(对列表、元组进行去重)
列表的去重
li=[11,22,22,1,11,22,33]
s2=set(li)
print(s2)
li=list(s2)
print(li)
输出:
{1, 11, 22, 33}
[1, 11, 22, 33]
三、集合的方法
添加add,删除pop,remove
1.添加
li={1,2,3,22,44,11}
# 随机位置添加一个元素
li.add(999)
2.删除pop(),随机删除一个元素
remove(元素),删除指定的元素
# 随机位置删除一个元素
li.pop()
# remove删除指定元素
li.remove(3)
print(li)
输出:{2, 999, 11, 44, 22}
四、交并差例子
# 交并差
a={1,2,3,11,22}
b={11,22,33,44,55,1}
# 交集 &
s=a&b
print(s)
输出:{1, 11, 22}
# 并集 |
s=a|b
print(s)
输出:{1, 2, 3, 33, 11, 44, 22, 55}
# 差集 -
s=a-b
print(s)
输出:{2, 3}
五、数据类型的总结
1.按数据结构分类:
- 数值类型:整数、浮点数、布尔值
- 序列类型:字符串、列表、元组(可以通过下标取值,支持切片操作)
- 散列类型:字典、集合
2.数据类型的可变和不可变:
不可变类型:
- 字符串和元组定义之后不能修改内部的结果或者值(内存单元中的值),为不可变类型
- 注意:如果元组中有可变类型的数据,不能把他放在集合中
可变类型:列表,字典,集合
如何区分可变和不可变数据:定义一个集合,把数据放到集合中看会不会报错
3.运算符补充
- 成员运算符成员运算符 in not in 判断正确返回True 错误返回False
- 身份运算符 # is:判断2个数据的id一致
# is not 判断2个数据的id是否不一致
# 成员运算符 in not in 判断正确返回True 错误返回False
li=["li","hao"]
name="hao"
# 判断一个数据是否是另外一个数据中的成员
print(name in li)
输出:True
# 判断一个数据不是另外一个数据中的成员
print(name not in li)
输出:False