Python基础(19)–集合的数学操作

◎知识点

  1. 两个集合的交集

  2. 两个集合的并集

  3. 两个集合的差集

  4. 两个集合的对称差集


◎脚本练习

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
 @FileName:    set_operator.py
 @Function:    set mathematical operations
 @Author:      Zhihe An
 @Site:        https://chegva.com
 @Time:        2021/6/29
"""

"""集合的数学操作"""

"""
1、两个集合的交集
    调用方法intersection和使用运算符&是等价的
    做交集操作后生成一个新集合,做交集操作的两个集合不变
"""

s1 = {1, 3, 5, 7, 9}
s2 = {2, 3, 6, 7, 10}

print(s1.intersection(s2))  # {3, 7}
print(s1 & s2)  # {3, 7}
print(s1)   # {1, 3, 5, 7, 9}
print(s2)   # {2, 3, 6, 7, 10}

"""
    s1.intersection_update(s2)的执行结果:
    用s1.intersection(s2)的返回值更新s1,s2不变
    方法intersection_update的返回值为None
"""

print(s1.intersection_update(s2))   # None
print(s1)   # {3, 7}
print(s2)   # {2, 3, 6, 7, 10}

"""
2、两个集合的并集
    调用方法union和使用运算符|是等价的
    做并集操作后生成一个新集合,做并集操作的两个集合不变
"""

s1 = {1, 3, 5, 7, 9}
s2 = {2, 3, 6, 7, 10}

print(s1.union(s2))     # {1, 2, 3, 5, 6, 7, 9, 10}
print(s1 | s2)          # {1, 2, 3, 5, 6, 7, 9, 10}
print(s1)   # {1, 3, 5, 7, 9}
print(s2)   # {2, 3, 6, 7, 10}

# 注意:不存在方法union_update()

"""
3、两个集合的差集
    调用方法difference和使用运算符-是等价的
    做差集操作后生成一个新集合,做差集操作的两个集合不变
"""

s1 = {1, 3, 5, 7, 9}
s2 = {2, 3, 6, 7, 10}

print(s1.difference(s2))    # {1, 5, 9}
print(s1 - s2)  # {1, 5, 9}
print(s1)   # {1, 3, 5, 7, 9}
print(s2)   # {2, 3, 6, 7, 10}

"""
    s1.difference_update(s2)的执行结果:
    用s1.difference(s2)的返回值更新s1,s2不变
    方法difference_update的返回值为None
"""

print(s1.difference_update(s2)) # None
print(s1)   # {1, 5, 9}
print(s2)   # {2, 3, 6, 7, 10}

"""
4、两个集合的对称差集
    调用方法symmetric_difference和使用运算符^是等价的
    做对称差集操作后生成一个新集合,做对称差集操作的两个集合不变
"""

s1 = {1, 3, 5, 7, 9}
s2 = {2, 3, 6, 7, 10}

print(s1.symmetric_difference(s2))  # {1, 2, 5, 6, 9, 10}
print(s1 ^ s2)  # {1, 2, 5, 6, 9, 10}
print(s1)   # {1, 3, 5, 7, 9}
print(s2)   # {2, 3, 6, 7, 10}

"""
    s1.symmetric_difference_update(s2)的执行结果:
    用s1.symmetric_difference(s2)的返回值更新s1,s2不变
    方法symmetric_difference_update的返回值为None
"""

print(s1.symmetric_difference_update(s2))   # None
print(s1)   # {1, 2, 5, 6, 9, 10}
print(s2)   # {2, 3, 6, 7, 10}

▽ 集合的数学操作

Python基础(19)–集合的数学操作

◎脚本地址:https://github.com/anzhihe/learning/blob/master/python/practise/learn-python/python_basic/set_operator.py

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/4778.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注