Python基本数据类型——集合

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34120459/article/details/87955882

一、集合简介

1、集合是无序的,且不允许重复

2、变量初始化

a  = {1, 3, "s", "n"}
print(type(a))   #<class 'set'>
b = set()
print(type(b))   #<class 'set'>

c = {}
print(type(c))    #<class 'dict'>

二、常用功能:增删查,去重,交集、并集、差集

1、增

  • add()
s = {1, 3, "s", "n"}
s.add("vae")
print(s)   #{1, 3, 'vae', 's', 'n'}
  • update(): 把要传入的元素拆分传入集合
s = {1, 3, "s", "n"}
s.update("hello")
print(s)  #{1, 3, 'n', 'vae', 's', 'h', 'o', 'l', 'e'}

2、删除:remove, pop, discard

remove: 有则删,无则报错,指定删除传入的参数
pop: 随机删除
discard: 有则删,无不做任何操作

  • remove()
s = {1, 3, "s", "n"}
print(s)   #{1, 'n', 3, 's'}
s.remove(3)
print(s)   #{1, 'n', 's'}
s.remove("h")
print(s)   #KeyError: 'h'
  • pop()
s = {1, 3, "s", "n"}
s.pop()
print(s)   #{'n', 3, 's'}
  • discard()
s = {1, 3, 's', 'l', 'o', 'n', 'e', 'h'}
s.discard("h")
print(s)    #{1, 3, 'e', 'n', 'o', 'l', 's'}
s.discard("v")
print(s)    #{1, 3, 'e', 'n', 'l', 'o', 's'}

3、查:isdisjoint()/issubset()/issuperset()

  • isdisjoint(): 判断不包含关系
s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1.isdisjoint(s2))  #False
  • issubset()是否是子集
  • issuperset() 是否是父集
s1 = {1, 2, 3, 4}
s2 = {3, 4}
print(s1 & s2)
print(s1.issubset(s2))  #False
print(s1.issuperset(s2))  #True

4、交集:你有我也有,我们两共有部分

s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1 & s2)    #{3, 4}

5、并集

s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1 | s2)    #{1, 3, 4, 8}

6、差集

s1 = {1, 3, 4}
s2 = {4, 3, 8}
print(s1 - s2)    #{1}

7、去重:想要对数据去重时可以将其转换为集合

s = {1, 2, 2, 2, 4, 4, 6, 8}
print(s)     #{1, 2, 4, 6, 8}
L = [1, 2, 2, 2, 4, 4, 6, 8]
s1 = set(L)
print(s1)   #{1, 2, 4, 6, 8}
T = (1, 2, 2, 2, 4, 4, 6, 8)
s2 = set(T)
print(s2)   #{1, 2, 4, 6, 8}

猜你喜欢

转载自blog.csdn.net/qq_34120459/article/details/87955882