集合
集合是容器型数据类型;将{}作为容器的标志,多个元素用逗号隔开
{元素1,元素2,元素3……}
空集合:set()
特点:集合是可变的;无序的
#集合是无序的
print({2,1}=={1,2}) #True
元素是不可变的,唯一的;集合自带去重功能
set3={1,2,3,4,5,6,4,3,2,1}
print(set3)
增删改查
- 查 --遍历
set4={1,2,3,4,'aads'}
for x in set4:
print(x)
- 增 --添加元素
set5={10,20,30,45,65}
#集合.add(元素) --在集合中添加元素
set5.add (122)
print(set5) #{65, 10, 45, 20, 122, 30}
#集合.update(序列) --将序列中的所有的元素添加到集合中
set5.update('asd')
print(set5) #{65, 10, 'a', 'd', 45, 20, 's', 122, 30}
- 删
a 集合.remove(元素) --删除指定元素
set5={10,20,30,45,65}
set5.remove(45)
print(set5) #{65, 10, 20, 30}
b 集合.discard(元素) --删除指定元素
set5.discard(65)
print(set5) # {10, 20, 30,45}
remove删除时,如果元素不存在,会报错;discard,如果元素不存在,不会报错
- 改 --无法修改元素(如果要修改,可以删除指定元素)
集合支持数学运算
- 集合1 > 集合2 --判断集合2是否是集合1的真子集
print({10,20,34}>{10,20}) #True
print({10,20}>{10,20}) #False
集合1 >= 集合2 --判断集合2是否是集合1的子集
print({10,20,34}>={10,20}) #True
- 并集(|)
set={1,23,4}
set1={23,45,1,45,67}
print(set | set1) #{1, 67, 4, 23, 45}
- 交集(&)
set={1,23,4}
set1={23,45,1,45,67}
print(set& set1) #{1, 23}
- 差集(-)
set={1,23,4}
set1={23,45,1,45,67}
print(set- set1) #{4}
- 对称差集(^)
set={1,23,4}
set1={23,45,1,45,67}
print(set ^ set1) #{67, 4, 45}