Python之集合
集合 set( )可变数据类型。
set集合内的元素,一定是不可变数据类型。元素只能是int、string、tuple。
例子:如何想要知道两个列表里是否有相同的,肿么办哩!
Linux = ['sb','you','rain'] python = ['sb','you','mack','rachel'] linux_python = [] for i in python: if i in Linux: linux_python.append(i) print(linux_python)
集合的作用:关系测试,
交集:两个都有。
差集:在列表a里有,b里没有。
并集:把两个列表的元素合并在一起。并去重
集合的特性:
和字典的大括号一样。{ },但是,他没有value。
天然去重。
集合无序。
交集:
Linux = {'sb','you','rain','sb'} python = {'sb','you','mack','rachel'} # 交集 print(Linux.intersection(python)) print(Linux&python)
差集:
Linux = {'sb','you','rain','sb'} python = {'sb','you','mack','rachel'} #差集 print(Linux.difference(python)) print(python.difference(Linux)) print(Linux-python) print(python-Linux)
并集:
Linux = {'sb','you','rain','sb'} python = {'sb','you','mack','rachel'} #并集 print(Linux.union(python)) print(Linux|python)
反向差集,对称差集:
互相都不在的,打印
Linux = {'sb','you','rain','sb'} python = {'sb','you','mack','rachel'} #反向差集,对称差集 print(Linux^python)
集合的增删改查:
增:
Linux.add("aaaa") #增加 print(Linux) Linux1 = Linux.copy() #复制,和列表字典的复制一样 print(Linux) print(Linux1)
删:
Linux.clear() #清空Linux集合 print(Linux) Linux.discard('sb') # 删除 但是,元素不存在,不会报错 print(Linux) Linux.pop() #随机删除 print(Linux) Linux.remove('ggg') # 删除 但是,元素不存在,会报错 print(Linux)
改:
#改: Linux.update(python) #把Python合并到Linux中。彻底修改Linux集合。 print(Linux) Linux_diff = Linux.difference(python) #求差集并赋值改Linux集合 print(Linux_diff)
查:
# 查: a = Linux.issubset(python) #子集,判断Linux,是不是Python的子集 print(a) b=Linux.isdisjoint(python) #两个集合没有关系,返回真。 print(b)