python基础知识小结之集合

yizhihongxing

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 包实现 urllib 网络请求操作

    下面是关于Python包实现网络请求操作的完整攻略。 1. urllib库简介 urllib是python内置的HTTP请求库,使用它可以方便地实现向WEB服务器发送HTTP请求,并获得相应的响应结果。它支持网络编程中包括CGI,FTP,HTTPS请求等。urllib提供的方法如下: urllib.request:用于打开和读取URL。 urllib.err…

    python 2023年6月3日
    00
  • python 格式化输出百分号的方法

    首先,在 Python 中,我们可以使用百分号 ( % ) 来格式化字符串。当我们需要将一个值插入到另一个字符串中时,我们可以在字符串中放置一个 %s,然后再使用另一个字符串中的变量来替换它。如果我们想要插入一个百分号,我们可以使用两个相邻的百分号 ( %% ) 来表示一个百分号。 以下是两个示例: 将一个字符串插入到另一个字符串中,并使用百分号来表示一个浮…

    python 2023年6月5日
    00
  • 如何使用Python进行机器学习?

    使用Python进行机器学习可以使用许多不同的工具和库,其中最常用的是scikit-learn。这个库包含了许多经典的机器学习算法和实用工具,可以帮助我们快速地进行数据预处理、模型训练、评估等操作。下面我将为大家讲解如何使用Python进行机器学习: 数据准备和预处理:通常我们使用Pandas库来读取和处理数据。例如,我们可以使用read_csv函数来读取c…

    python 2023年4月19日
    00
  • 详解Python PIL getpixel()方法

    Python PIL 是常用的图像处理库,getpixel()方法是它提供的获取单个像素值的方法。下面是针对Python PIL getpixel()方法的详细解释: 1. getpixel()方法概述 getpixel()方法是PIL库中的一个方法,用于获取图像中某一像素点的RGB值,其语法如下: pixel_value = Image.getpixel(…

    python-answer 2023年3月25日
    00
  • Python图片检索之以图搜图

    下面我会详细讲解“Python图片检索之以图搜图”的完整攻略,包括环境配置、技术原理、代码实现等内容,其中包含两条示例说明。 环境配置 此项技术原理依赖于深度学习,所以需要安装相应的python库和模型。具体步骤如下: 安装tensorflow、keras以及opencv-python库。可以使用pip指令直接在命令行中安装,如下: pip install …

    python 2023年5月18日
    00
  • Python实现求解括号匹配问题的方法

    以下是Python实现求解括号匹配问题的方法的详细攻略。 什么是括号匹配问题? 括号匹配问题指的是在一个字符串中判断括号的开闭是否匹配,即要求每一个左括号都能够找到与之对应的右括号,反之亦然。例如,对于字符串 “([]){}”,括号的开闭匹配是正确的,而对于字符串 “([)]”,括号的开闭匹配是不正确的。 解决括号匹配问题的思路 括号匹配问题可以使用栈来解决…

    python 2023年6月3日
    00
  • Python内置方法实现字符串的秘钥加解密(推荐)

    以下是详细讲解“Python内置方法实现字符串的秘钥加解密(推荐)”的完整攻略。 一、背景 在实际生产环境中,我们需要将一些敏感的信息进行加密,以提高信息的安全性。而常用的加密方式之一就是秘钥加密。本攻略将详细介绍如何使用Python内置方法对字符串进行秘钥加解密。 二、实现过程 1.定义加密函数encrypt(string, key): def encry…

    python 2023年6月5日
    00
  • Python中列出目录中的文件的五种方法小结

    我们来详细讲解一下“Python中列出目录中的文件的五种方法小结”。 1. 使用os.listdir os.listdir(path)方法可以返回指定路径下的所有文件和目录。通常用法如下: import os path = ‘/path/to/directory’ files = os.listdir(path) for file in files: pri…

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