py_10 集合:交、并、差、对称差集

2020-07-20  本文已影响0人  阿登20

集合

一、集合的作用: 去重
二、集合的创建
- set()   空集合
- {} 不是集合,是一个空字典
三、增(add update)
add(obj),增加元素,元素重复不增加
update(iterable) 参数是多个可迭代对象
四、删(pop discard remove)
pip() 随机删除 discard(obj)删除不存在的元素不报错 remove()元素不存在报错
五、集合特有的操作:交、并、差、对称差集
- a&b :交集 表两个集合的共同元素,等价于a.intersection(b)

- a|b:并集  表两个集合的所有元素,等价于a.union(b)

- a-b:差集  表只属于a,但不属于b的元素,等价于a.difference(b)

- a^b:对称差分集  表两个集合的非共同元素,等价于a.symmetric_difference(b)
image.png

一、集合的作用

二、集合的创建

三、增(add update)

add(obj),增加元素,元素重复不增加

a = set("abc")
a.add("cd")
print(a) # {'cd', 'b', 'c', 'a'}

update(iterable) 参数是多个可迭代对象

a = set("abc")
a.update((1,2,3),[4,5,6],{"name": "阿登", "age": 18})
print(a)  # {1, 2, 3, 4, 5, 6, 'age', 'name', 'a', 'b', 'c'}

四、删(pop discard remove)

1.pop()随机删除

# discard(obj) obj元素不存在不会报错
# remove(obj)  元素不存在会报错
a = set("abc")
a.pop()
print(a)   # {'c', 'a'}

2.discard(obj) 删除,元素不存在不会报错

a = set("abc")
a.discard("a")  # 删除一个存在的元素 a
print(a)   # {'c', 'b'}
a.discard(1)   # 删除一个不存在的元素 1,不会报错
print(a)    # {'c', 'b'}

3.remove(obj) 元素不存在会报错

# remove(obj)
a = set("abc")
a.remove("a")  # 删除一个存在的元素 a
print(a)   # {'c', 'b'}
a.remove(1)   # 删除一个不存在的元素 1,会报错
print(a)    # KeyError: 1

五、集合特有的操作:交、并、差、对称差集

集合里面交、并、差、对称差集其实也是集合的专用操作。

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}

# 1.求并集,重复的会删除
c = a | b
print(c) # {1, 2, 3, 4, 5, 6}
e = a.union(b)
print(e)  #  {1, 2, 3, 4, 5, 6}

# 2. 求交集,两者共有的元素
c = a & b
print(c) # {3, 4}
e = a.intersection(b)
print(e)  # {3, 4}

# 3. 求差集,只属于前者的元素
c = a - b
print(c) # {1, 2}
e = a.difference(b)
print(e)  # {1, 2}

# 4.求 对称差集,两个集合的非共同元素
c = a ^ b
print(c) # {1, 2, 5, 6}
e = a.symmetric_difference(b)
print(e)  # {1, 2, 5, 6}
上一篇下一篇

猜你喜欢

热点阅读