• 【Python基础】数据容器的切片操作和集合



    前言

    在Python编程中,数据容器是不可或缺的一部分。它们允许我们存储和管理数据,而切片操作和集合则是处理这些数据的重要工具。本文将深入探讨Python中的切片操作和集合,包括它们的定义、用法、常见格式以及示例代码,以帮助您更好地理解和利用它们。


    一、切片操作

    1.1 什么是切片?

    切片是一种用于从序列类型(如列表、元组和字符串)中选择子集的操作。它允许您根据索引范围来提取序列中的元素,而不必遍历整个序列。切片操作非常灵活,能够处理各种不同格式的序列。

    1.2 如何使用切片?

    切片的基本语法是:sequence[start:stop:step],其中:

    sequence 是要切片的序列。
    start 是切片的起始索引(包括该索引处的元素)。
    stop 是切片的结束索引(不包括该索引处的元素)。
    step 是切片的步长,表示每隔多少个元素取一个。默认值为1。
    不同的切片格式和意义
    基本切片:sequence[start:stop]

    返回从 start 到 stop-1 的子序列。
    带步长的切片:sequence[start:stop:step]

    返回从 start 到 stop-1 的子序列,每隔 step 个元素取一个。
    省略起始和结束索引:

    如果省略 start,默认从序列的开头开始。
    如果省略 stop,默认到序列的末尾结束。
    示例代码
    下面是一些切片操作的示例代码:

    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    • 1

    在这里插入图片描述

    基本切片

    subset1 = my_list[2:5]  # 返回 [3, 4, 5]
    
    • 1

    在这里插入图片描述

    带步长的切片

    subset2 = my_list[1:7:2]  # 返回 [2, 4, 6]
    
    • 1

    在这里插入图片描述

    省略起始和结束索引

    subset3 = my_list[:5]     # 返回 [1, 2, 3, 4, 5]
    subset4 = my_list[3:]     # 返回 [4, 5, 6, 7, 8, 9]
    
    • 1
    • 2

    在这里插入图片描述

    逆序切片

    subset5 = my_list[::-1]   # 返回 [9, 8, 7, 6, 5, 4, 3, 2, 1]
    
    • 1

    在这里插入图片描述

    二、集合

    2.1 什么是集合?

    集合是Python中的一种数据容器,它是由不重复元素组成的无序集合。这意味着集合中的元素是唯一的,而且不按特定的顺序排列。

    2.2 如何定义集合?

    要定义一个集合,可以使用set() 构造函数。

    my_set2 = set([3, 4, 5])
    
    • 1

    在这里插入图片描述

    2.3 集合常用函数

    1. add()

    作用: add() 函数用于向集合中添加一个元素。

    参数: 需要添加到集合中的元素。

    返回值: None

    示例代码:

    my_set = set([1,2,3])
    
    # 向集合中添加元素
    my_set.add(4)  # my_set 现在是 {1, 2, 3, 4}
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2. remove()

    作用: remove() 函数用于从集合中移除指定元素。如果元素不存在于集合中,会引发 KeyError 错误。

    参数: 要移除的元素。

    返回值: None

    示例代码:

    my_set = set([1,2,3])
    
    # 移除元素
    my_set.remove(2)  # my_set 现在是 {1, 3}
    
    # 尝试移除不存在的元素,会引发 KeyError 错误
    my_set.remove(4)  # 引发 KeyError: 4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    3. discard()

    作用: discard() 函数用于从集合中移除指定元素。与 remove() 不同的是,如果元素不存在于集合中,discard() 不会引发错误。

    参数: 要移除的元素。

    返回值: None

    示例代码:

    my_set = set([1,2,3])
    
    # 移除元素
    my_set.discard(2)  # my_set 现在是 {1, 3}
    
    # 尝试移除不存在的元素,不会引发错误
    my_set.discard(4)  # my_set 仍然是 {1, 3}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    4. pop()

    作用: pop() 函数用于随机移除并返回集合中的一个元素。如果集合为空,会引发 KeyError 错误。

    参数: 无参数。

    返回值: 被移除的元素。

    示例代码:

    my_set = set([1,2,3])
    
    # 随机移除并返回一个元素
    random_element = my_set.pop()  # 可能返回 1、2 或 3
    
    # 如果集合为空,会引发 KeyError 错误
    empty_set = set()
    empty_set.pop()  # 引发 KeyError: 'pop from an empty set'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    5. clear()

    作用: clear() 函数用于清空集合中的所有元素,使集合变为空集。

    参数: 无参数。

    返回值: None

    示例代码:

    my_set = set([1,2,3])
    
    # 清空集合
    my_set.clear()  # my_set 变成空集合 set()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述


    总结

    本文介绍了Python中的切片操作和集合。切片操作是用于从序列中选择子集的强大工具,可以根据需要取出部分元素。集合则是用于存储不重复元素的数据容器,适用于需要唯一性的情况。了解和掌握这些概念和技巧将有助于更高效地处理和操作数据。希望本文的示例代码和解释对您有所帮助,使您更加熟练地使用这些功能。

  • 相关阅读:
    Java全栈课程之SpringSecurity详解
    使用grep&sed快速更换Ubuntu为国内镜像源
    spring中事件的使用方法
    Docker镜像制作
    flink 处理IOT数据
    为什么Google searxh console站点地图产品页无法抓取
    【uniapp】JavaScript基础学习-20231027
    9.18算法
    关于auto-coder的一次辩经
    正则系列之量词(Quantifiers)
  • 原文地址:https://blog.csdn.net/m0_62599305/article/details/133602800