Python中关于set的基本用法

 更新时间:2023年04月25日 09:01:35   作者:YKenan  
这篇文章主要介绍了Python中关于set的基本用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

1. set 的基本内容

1.基本特点

  • (1) 无序性
  • (2) 确定性
  • (3) 不重复性

2.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)

结果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python海象运算符的用法教程

    Python海象运算符的用法教程

    Python 海象运算符是在 PEP 572 中提出,并在 Python3.8 版本并入和发布。本文就来为大家详细讲讲Python海象运算符的用法,感兴趣的可以了解一下
    2022-07-07
  • Python Pandas两个表格内容模糊匹配的实现

    Python Pandas两个表格内容模糊匹配的实现

    模糊查询大家应该都不会陌生,下面这篇文章主要给大家介绍了关于Python Pandas两个表格内容模糊匹配的实现方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • Python 实现键盘鼠标按键模拟

    Python 实现键盘鼠标按键模拟

    这篇文章主要介绍了Python 实现键盘按键模拟的方法,帮助大家提高办公效率,感兴趣的朋友可以了解下
    2020-11-11
  • selenium+opencv实现滑块验证码的登陆

    selenium+opencv实现滑块验证码的登陆

    很多网站登录登陆时都要用到滑块验证码,本文主要介绍了selenium+opencv实现滑块验证码的登陆,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python初学之用户登录的实现过程(实例讲解)

    python初学之用户登录的实现过程(实例讲解)

    下面小编就为大家分享一篇python初学之用户登录的实现过程(实例讲解),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 模型训练时GPU利用率太低的原因及解决

    模型训练时GPU利用率太低的原因及解决

    这篇文章主要介绍了模型训练时GPU利用率太低的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Python3 实现文件批量重命名示例代码

    Python3 实现文件批量重命名示例代码

    在Python中os模块里,os.renames() 方法用于递归重命名目录或文件。这篇文章主要介绍了Python3 文件批量重命名操作示例,需要的朋友可以参考下
    2019-06-06
  • 一篇文章弄懂Python中的内建函数

    一篇文章弄懂Python中的内建函数

    Python学习,内建函数是你必须要掌握的一部分,下面这篇文章主要给大家介绍了关于Python中内建函数的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • python安装后无法打开IDLE Subprocess Connection Error的解决方法

    python安装后无法打开IDLE Subprocess Connection Error的解决方法

    有朋友在安装了Python之后发现不能正常使用,就说明安装过程出了问题,下面这篇文章主要给大家介绍了关于python安装后无法打开IDLE Subprocess Connection Error的解决方法,需要的朋友可以参考下
    2023-01-01
  • Python函数参数类型及排序原理总结

    Python函数参数类型及排序原理总结

    这篇文章主要介绍了Python函数参数类型及排序原理总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论