Python中集合类型(set)学习小结

yizhihongxing

Python中集合类型(set)学习小结

概述

Python中的集合(set)是一种用于存储无序但唯一元素的数据类型。它基于数学中的集合概念,并且支持集合的各种数学运算。集合可以包含任何可哈希的数据类型,但集合本身是不可哈希的,而且没有顺序。

与列表和元组不同,集合没有索引,因此不能通过索引访问元素。但是,集合支持的操作范围更广,比如交集、并集、差集等等。

创建集合

可以使用花括号({})或set()函数来创建集合。注意,如果使用花括号来创建空集合,必须使用set()函数。否则,花括号创建的将是一个空字典。

# 创建集合
set1 = {1, 2, 3, 4, 5}
set2 = set('hello')
set3 = set()

# 打印集合
print(set1)  # {1, 2, 3, 4, 5}
print(set2)  # {'e', 'l', 'h', 'o'}
print(set3)  # set()

集合运算

并集

并集是指两个集合的所有元素的集合。使用|运算符或union()方法进行并集计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算并集
print(set1 | set2)          # {1, 2, 3, 4, 5, 6, 7, 8}
print(set1.union(set2))     # {1, 2, 3, 4, 5, 6, 7, 8}

交集

交集是指两个集合中都包含的元素的集合。使用&运算符或intersection()方法进行交集计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算交集
print(set1 & set2)                  # {4, 5}
print(set1.intersection(set2))      # {4, 5}

差集

差集是指只属于一个集合而不属于另一个集合的元素的集合。使用-运算符或difference()方法进行差集计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算差集
print(set1 - set2)                  # {1, 2, 3}
print(set1.difference(set2))        # {1, 2, 3}

对称差

对称差是指两个集合中所有不相同元素的集合。使用^运算符或symmetric_difference()方法进行对称差计算。

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

# 计算对称差
print(set1 ^ set2)                  # {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))      # {1, 2, 3, 6, 7, 8}

其他集合操作

添加元素

使用add()方法来向集合中添加元素。

set1 = {1, 2, 3, 4, 5}

# 添加元素
set1.add(6)
print(set1)  # {1, 2, 3, 4, 5, 6}

删除元素

使用remove()方法从集合中删除元素。

set1 = {1, 2, 3, 4, 5}

# 删除元素
set1.remove(3)
print(set1)  # {1, 2, 4, 5}

示例说明

示例一

下面的示例演示如何使用集合来统计一个字符串中不同字符的个数。

s = 'hello, world'
unique_chars = set(s)

print(len(unique_chars))  # 10

示例二

下面的示例演示如何使用集合来去除一个列表中的重复元素。

lst = [1, 2, 3, 4, 3, 2, 1]
unique_lst = set(lst)

print(unique_lst)  # {1, 2, 3, 4}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中集合类型(set)学习小结 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • 快速解决pandas.read_csv()乱码的问题

    下面是快速解决pandas.read_csv()乱码问题的完整攻略。 1. 查看文件编码格式 使用notepad++或者其他代码编辑器打开csv文件,查看Encoding栏里的编码格式。如果发现是UTF-8,则在pandas.read_csv()中需要加上encoding=’utf-8’来指定编码。 示例代码: import pandas as pd df …

    python 2023年5月13日
    00
  • python try 异常处理(史上最全)

    Python Try-Except 异常处理指南 Python 中的异常处理是一种用于处理程序出现错误和异常情况的技术。在开发过程中,程序出现错误是一种必然情况,通过合理的异常处理,能够使我们的程序更加稳定和健壮。本文将介绍 Python 中关于异常处理的知识点。 异常概述 异常是指在程序运行时发生的错误,例如访问不存在的变量、除数为零、调用不存在的方法等。…

    python 2023年5月13日
    00
  • 对Python 除法负数取商的取整方式详解

    对Python 除法负数取商的取整方式详解 在Python中进行除法运算时,负数的取商的取整方式与正数稍有不同。本文将详细讲解Python对于负数的除法取商的取整方式,以及如何防止由此产生的不符合预期的结果。 Python 的除法运算 在Python中,除法运算符 / 用于计算两个数相除得到的结果。例如: 5 / 2 # 输出 2.5 在整数除法的场景中,P…

    python 2023年6月3日
    00
  • python用字节处理文件实例讲解

    对于“python用字节处理文件实例讲解”的完整攻略,我们可以分以下步骤来介绍。 1. 概述 在Python中,文件可以处理为字符和字节,一般而言,字符方式较为常见,字节方式则是用于处理二进制文件。 Python提供了内置的open()函数,可以指定文件读写的模式和文件编码方式等信息。在使用字节方式处理文件时,可以使用二进制模式的rb(读取)和wb(写入)模…

    python 2023年5月20日
    00
  • 致Python初学者 Anaconda入门使用指南完整版

    致Python初学者:Anaconda入门使用指南完整版 本文旨在介绍Anaconda的基本概念、下载安装方法和使用方法,以及常用的conda命令和Jupyter Notebook的使用方法。 什么是Anaconda Anaconda是一个用于数据科学的开源发行版,支持多种操作系统(Windows、Linux和macOS),它提供了包管理和环境管理的功能,可…

    python 2023年5月18日
    00
  • Python连接mssql数据库编码问题解决方法

    Python连接mssql数据库编码问题解决方法 在使用Python连接Microsoft SQL Server (MSSQL)数据库时,可能会遇到编码问题。通常情况下,我们需要解决以下两种编码问题: 数据库编码问题:某些情况下我们需要更改数据库编码以适配Python的默认编码。 查询结果编码问题:查询结果包含了特殊字符时,需要指定字符集编码。 下面我们将详…

    python 2023年5月20日
    00
  • 几款Python编译器比较与推荐(小结)

    以下是“几款Python编译器比较与推荐(小结)”的详细攻略: 1. 什么是Python编译器? Python编译器是一种将Python代码转换成机器可读的二进制代码的程序。Python语言本身是一种解释性语言,但是通过编译器可以将Python代码转换为可执行文件,就像编译C或Java程序一样。Python编译器通常被称为“Python解释器”,但实际上它们…

    python 2023年5月18日
    00
  • Pytest断言的具体使用

    Pytest断言的具体使用 在Python中,Pytest是一个流行的测试框架,它提供了丰富的断言方法来验证代码的正确性。本文将介绍Pytest断言的具体使用,包括常用的断言方法和示例说明。 安装Pytest 在使用Pytest之前,我们需要先安装Pytest。可以使用pip命令在命令行安装Pytest: pip install pytest 常用的Pyte…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部