Python集合方法整理(Day9)

#作用:去重,关系运算,

#定义:
            知识点回顾
            可变类型是不可hash类型
            不可变类型是可hash类型

#定义集合:
            集合:可以包含多个元素,用逗号分割,
            集合的元素遵循三个原则:
             1:每个元素必须是不可变类型(可hash,可作为字典的key)
             2:没有重复的元素
             3:无序

注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
 

#优先掌握的操作:
#1、长度len
#2、成员运算in和not in

#3、|合集
#4、&交集
#5、-差集
#6、^对称差集
#7、==
#8、父集:>,>= 
#9、子集:<,<=

数据类型:int/str/bool/list/dict/tuple/float/set   (set类型天生去重)

一、集合的定义

s = set()  #定义空集合

s = {'a','b','c','d'}   #集合不是key-value  形的,无冒号

集合是无序的,没办法通过下标取值

二、集合赋值

s.add()

s = {'a','b','c','d'}
s.add('ijk') #注意add 与 update 的区别
# s.update('fgh')
print(s)

输出结果:

{'d', 'ijk', 'c', 'b', 'a'}

s.update()

输出结果:

{'f', 'b', 'g', 'd', 'a', 'c', 'h'}

s = set()

s = set('cheeseshop')
print(s)

输出结果:

{'s', 'e', 'p', 'h', 'o', 'c'}

三、删除集合元素

s.remove()
s = set('cheeseshop')
s.remove('er') # 删除不存在的会报错
s.remove('e')
print(s)

s.pop()  #随机删除一个

s.discard('er')  #如果删除的元素存在,删除,不存在不做处理

del s  # 删除集合

四、集合常用操作

s -= set('copy')   等价于  s = s - set('copy')  

取交集   

s.intersection(s1)   等价于  s & s1

取并集

s.union(s1)   等价于  s | s1 

取差集

s.difference(s1)   等价于  s - s1
取对称差集
s.symmetric_difference(s1)   等价于 s^s1   取既不存在于s ,也不存在于s1中的元素
示例如下:

s = set('hi')
t = set('hello')
print(s.symmetric_difference(t))

 输出结果:{'e', 'i', 'l', 'o'}

有一种能力,是持续不断的努力
原文地址:https://www.cnblogs.com/shaojiafeng/p/7217977.html