前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 中 set 的基本用法

Python 中 set 的基本用法

作者头像
用户7886150
修改2021-01-12 14:31:40
6440
修改2021-01-12 14:31:40
举报
文章被收录于专栏:bit哲学院

参考链接: Python中的intersection函数

Python 中 set 的基本用法

 1. set 的基本内容2. set 的基本方法2.1 set 的普通基本方法2.1.1 增2.1.1 删

    2.2 set 的逻辑基本方法2.2.1 set 交集运算2.2.2 set 并集运算2.2.3 set 差集运算2.2.4 set 对称差集运算2.2.5 set 逻辑判断运算

1. set 的基本内容 

基本特点: (1) 无序性 (2) 确定性 (3) 不重复性set() 实质:内部进行 可迭代性的 for 循环 

 例子:  

2. set 的基本方法 

2.1 set 的普通基本方法 

2.1.1 增 

add(self, *args, **kwargs)

copy(self, *args, **kwargs)

# 1. 增

# Add an element to a set. This has no effect if the element is already present.

s = {1, 12, 32, "涟漪", "hello"}

s.add("good")

s.add(32)

print(s)

# Add an element to a set. This has no effect if the element is already present.

s = {1, 12, 32, "涟漪", "hello"}

c = s.copy()

print(c)

 结果:  

2.1.1 删 

clear(self, *args, **kwargs)

pop(self, *args, **kwargs)

remove(self, *args, **kwargs)

discard(self, *args, **kwargs)

# 2. 删

# Remove all elements from this set.

s = {1, 12, 32, "涟漪", "hello"}

s.clear()

print(s)

# Remove and return an arbitrary set element. Raises KeyError if the set is empty.

s = {1, 12, 32, "涟漪", "hello"}

s.pop()

print(s)

# Remove an element from a set; it must be a member. If the element is not a member, raise a KeyError.

s = {1, 12, 32, "涟漪", "hello"}

s.remove(1)

# s.remove("good")

print(s)

# Remove an element from a set if it is a member. If the element is not a member, do nothing.

s = {1, 12, 32, "涟漪", "hello"}

s.discard(1)

s.discard("good")

print(s)

 结果:  

 pop() 是随机删除。remove() 和 discard() 指定删除,但是指定不存在的元素时,remove() 会报错,而 discard() 不会报错 

2.2 set 的逻辑基本方法 

2.2.1 set 交集运算 

# set 交集运算

x1 = ["a", "b", "c", "d", "e"]

x2 = ["c", "d", "e", "f", "g"]

x3 = []

for x in x1:

    if x in x2:

        x3.append(x)

print(x3)

s_x1 = set(x1)

s_x2 = set(x2)

inter = s_x1.intersection(s_x2)

print(inter)

# 交集符号运算

print(s_x1 & s_x2)

# update

s_x1.intersection_update(s_x2)

print(s_x1)

 结果:  

2.2.2 set 并集运算 

# set 并集运算

x1 = ["a", "b", "c", "d", "e"]

x2 = ["c", "d", "e", "f", "g"]

s_x1 = set(x1)

s_x2 = set(x2)

uni = s_x1.union(s_x2)

print(uni)

# 并集符号运算

print(s_x1 | s_x2)

# update

s_x1.update(s_x2)

print(s_x1)

 结果:  

2.2.3 set 差集运算 

# set 差集运算

x1 = ["a", "b", "c", "d", "e"]

x2 = ["c", "d", "e", "f", "g"]

s_x1 = set(x1)

s_x2 = set(x2)

dif_x1 = s_x1.difference(s_x2)

print(dif_x1)

dif_x2 = s_x2.difference(s_x1)

print(dif_x2)

# 差集符号运算

print(s_x1 - s_x2)

print(s_x2 - s_x1)

# update

s_x1.difference_update(s_x2)

print(s_x1)

s_x2.difference_update(s_x1)

print(s_x2)

 结果:  

2.2.4 set 对称差集运算 

# set 对称差集运算满足交换律:A△B = B△A

s_x1 = set(x1)

s_x2 = set(x2)

sym = s_x1.symmetric_difference(s_x2)

print(sym)

# 对称差集符号运算

print(s_x1 ^ s_x2)

print(s_x1 - s_x2 | s_x2 - s_x1)

print((s_x1 | s_x2) - (s_x2 & s_x1))

# update

s_x1.symmetric_difference_update(s_x2)

print(s_x1)

 结果:  

2.2.5 set 逻辑判断运算 

# 判断

# Return True if two sets have a null intersection.

x1 = {"a", "b", "c"}

x2 = {"e", "f", "g"}

inter = x1.isdisjoint(x2)

print(inter)

# Report whether another set contains this set.

x1 = {"a", "b", "c"}

x2 = {"a", "b", "c", "e", "f", "g"}

inter = x1.issubset(x2)

print(inter)

# Report whether this set contains another set.

x1 = {"a", "b", "c", "e", "f", "g"}

x2 = {"a", "b", "c"}

inter = x1.issuperset(x2)

print(inter)

 结果:

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档