python基础知识小结之集合

Python基础知识小结之集合

1. 集合是什么?

在Python中,集合是一种无序、唯一的数据结构,内部元素不允许重复,内部元素亦不支持索引操作。

1.1 创建集合

通过set()函数或者{}创建一个空集合:

s1 = set()
s2 = {}
print(type(s1))  # <class 'set'>
print(type(s2))  # <class 'dict'>

可以通过直接在{}内部加入元素来创建集合:

s = {1, 2, 3, 'a', 'b', 'c'}
print(s)  # {1, 2, 3, 'a', 'b', 'c'}

1.2 集合运算

集合支持基本的集合运算:

a = {1, 2, 3}
b = {2, 3, 4}
print(a | b)  # {1, 2, 3, 4}
print(a & b)  # {2, 3}
print(a - b)  # {1}
print(b - a)  # {4}

1.3 集合去重

可以通过将列表转换为集合来快速去重:

lst = [1, 2, 3, 2, 3, 4]
s = set(lst)
print(s)  # {1, 2, 3, 4}

2. 集合的方法

2.1 添加元素

可以使用add()方法向集合中添加一个元素,如果已存在则不做任何操作:

s = {1, 2, 3}
s.add(4)
s.add(3)
print(s)  # {1, 2, 3, 4}

可以使用update()方法向集合中添加多个元素:

s = {1, 2, 3}
s.update([3, 4, 5])
print(s)  # {1, 2, 3, 4, 5}

2.2 删除元素

可以使用remove()方法删除集合中的一个元素:

s = {1, 2, 3}
s.remove(2)
print(s)  # {1, 3}

如果要删除的元素不存在,则会抛出KeyError异常。可以使用discard()方法删除集合中的一个元素,如果不存在则不做任何操作:

s = {1, 2, 3}
s.discard(2)
s.discard(4)
print(s)  # {1, 3}

2.3 集合方法示例

下面是一个完整的示例,演示了集合的使用方法:

s1 = {1, 2, 3}
s2 = {2, 3, 4}
s3 = s1 | s2
s4 = s1 & s2
s5 = s1 - s2
s6 = s2 - s1
s7 = [1, 2, 3, 2, 3, 4]
s8 = set(s7)
s9 = {5, 6, 7}
s9.add(8)
s9.update([9, 10, 11])
s10 = {1, 2, 3}
s10.remove(2)
s10.discard(4)
s10.discard(3)
print(s3)  # {1, 2, 3, 4}
print(s4)  # {2, 3}
print(s5)  # {1}
print(s6)  # {4}
print(s8)  # {1, 2, 3, 4}
print(s9)  # {5, 6, 7, 8, 9, 10, 11}
print(s10) # {1}

总结

集合是一种非常实用的数据结构,可以快速对数据进行去重、交集/并集/差集运算等。在实际开发中,也经常会用到集合。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python基础知识小结之集合 - Python技术站

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

相关文章

  • 详解Python 多线程 Timer定时器/延迟执行、Event事件

    Python 多线程 Timer定时器/延迟执行、Event事件 Timer定时器 在Python的多线程中,Timer定时器可以用来在指定的时间后执行某个操作,相当于是一个有定时功能的线程。Timer的使用非常简单,只需要导入threading模块,在Timer类中指定延迟时间及要执行的操作,调用start()方法即可,如下示例: import threa…

    python 2023年5月18日
    00
  • Python实现视频分解成图片+图片合成视频

    下面就来详细讲解“Python实现视频分解成图片+图片合成视频”的完整攻略。 一、安装必要的库 首先,我们需要安装以下两个库: OpenCV:用于图像处理和视频处理。 在命令行中输入以下命令进行安装: pip install opencv-python moviepy:用于视频合成。 在命令行中输入以下命令进行安装: pip install moviepy …

    python 2023年5月19日
    00
  • python实现键盘输入的实操方法

    当使用Python进行编程时,经常需要获取用户从键盘输入的数据。对于实现键盘输入,有以下几种实现方式: 1. 使用input函数 Python语言内置了一个input函数,用于获取从键盘上输入的数据。具体实现方式如下: name = input("请输入您的姓名:") print("欢迎您," + name) 在上面的…

    python 2023年5月19日
    00
  • Python数据分析基础之异常值检测和处理方式

    Python数据分析基础之异常值检测和处理方式 数据分析中,异常值通常是指与大部分数据值明显不同的数值,可能会严重影响分析结果的质量和准确性。因此在进行数据分析时,必须检测和处理异常值才能得到正确的结论。 异常值检测方式 在数据分析中,常用的异常值检测方式有两种: 直方图法 直方图法将数据按照一定的区间进行切分,然后通过统计每个区间中数据出现的次数,绘制出分…

    python 2023年5月13日
    00
  • Python数据类型之Set集合实例详解

    Python数据类型之Set集合实例详解 Set集合概述 Set集合是Python的一种数据类型,与List和Tuple不同,它是无序的,不重复的。可以将Set集合视为一个无值集合,其中每个元素都是独一无二的,可以是数字、字符串或者其他Python数据类型。 Set集合中不允许存在相同的元素,因此,如果试图将一个已经存在的元素添加到Set集合中,将不会有任何…

    python 2023年5月13日
    00
  • 详解Python 指定记忆化

    Python 中的记忆化技术可以用来解决那些需要大量递归调用及重复计算的问题,通过将已经计算过的结果缓存起来,避免重复计算,从而提高运行效率。但是,如果不指定缓存策略,可能会带来一些不必要的问题,如内存泄漏等。 因此,指定记忆化策略是十分必要的。以下是Python 指定记忆化的完整攻略: 1.使用functools模块 Python 内置的 functool…

    python-answer 2023年3月25日
    00
  • 利用numpy和pandas处理csv文件中的时间方法

    处理CSV文件中的时间方法,涉及到两个关键库:NumPy和Pandas。在CSV文件中,时间通常表示为字符串数据,我们需要使用Python中的这些库将其转换为机器可读的日期和时间格式。 以下是一个基本的步骤: 步骤 1:导入必要的库 import numpy as np import pandas as pd 步骤 2:读取CSV文件 df = pd.rea…

    python 2023年6月2日
    00
  • python爬虫系列网络请求案例详解

    python爬虫系列网络请求案例详解 本教程将为您逐步展示如何使用Python进行网络请求并分析响应。我们将包括以下主题: 使用requests库发出GET请求 解析响应文本和内容 获取响应信息(状态码,头部信息等) 使用参数和headers定制请求 发出POST请求并解析响应 使用代理进行网络请求 1. 使用requests库发出GET请求 最常见的网络请…

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