Python索引技巧

一、基础索引

Python中最基本的索引就是通过下标获取列表、元组或字符串中的元素。下标从0开始,负数表示从后往前数。例如,a = [1, 2, 3, 4], a[0]表示获取第一个元素1,a[-1]表示获取最后一个元素4。

    a = [1, 2, 3, 4]
    print(a[0])  # 输出1
    print(a[-1])  # 输出4

字符串也可以通过下标获取其中的某个字符。

    s = "hello"
    print(s[0])  # 输出h
    print(s[-1])  # 输出o

元组也可以通过下标获取其中的元素。

    t = (1, 2, 3, 4)
    print(t[0])  # 输出1
    print(t[-1])  # 输出4

二、切片索引

切片索引可以用来获取列表、元组或字符串中的某一部分。切片索引的形式为[start:end:step],其中start表示起始位置,默认为0;end表示结束位置,默认为最后一个元素的下一个位置;step表示步长,默认为1。切片索引不包括end位置的元素。

    a = [1, 2, 3, 4, 5]
    print(a[1:3])  # 输出[2, 3]
    print(a[:3])  # 输出[1, 2, 3]
    print(a[::2])  # 输出[1, 3, 5]

字符串也可以使用切片索引。

    s = "hello"
    print(s[1:3])  # 输出"el"
    print(s[:3])  # 输出"hel"
    print(s[::2])  # 输出"hlo"

元组也支持切片索引。

    t = (1, 2, 3, 4, 5)
    print(t[1:3])  # 输出(2, 3)
    print(t[:3])  # 输出(1, 2, 3)
    print(t[::2])  # 输出(1, 3, 5)

三、扩展切片

Python3.9之后新增了扩展切片,可以用来获取列表、元组或字符串中间隔的多个元素。扩展切片索引的形式为[start:end:step1, step2],其中step1表示步长,step2表示间隔数。扩展切片索引不包括end位置的元素。

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(a[::2, 2])  # 输出[1, 4, 7]
    print(a[1:7:2, 3])  # 输出[4, 7]

字符串也可以使用扩展切片索引。

    s = "hello world"
    print(s[::2, 2])  # 输出"hlwl"
    print(s[1:7:2, 3])  # 输出"l w"

元组也支持扩展切片索引。

    t = (1, 2, 3, 4, 5, 6, 7, 8, 9)
    print(t[::2, 2])  # 输出(1, 4, 7)
    print(t[1:7:2, 3])  # 输出(4, 7)

四、布尔索引

布尔索引可以用来根据条件获取列表、元组或字符串的部分元素。条件通常为一个表达式或一个布尔数组,结果是一个布尔数组,其中True表示该位置符合条件,False表示不符合条件。可以将布尔数组作为索引获取列表、元组或字符串的部分元素。

    a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    b = [True, False, False, True, False, False, True, False, False]
    c = [x > 5 for x in a]
    print(a[b])  # 输出[1, 4, 7]
    print(a[c])  # 输出[6, 7, 8, 9]

字符串也可以使用布尔索引。

    s = "hello world"
    b = [True, False, False, True, False, False, True, False, False, False, False]
    c = [x.isalpha() for x in s]
    print(s[b])  # 输出"hlo"
    print(s[c])  # 输出"helloworld"

元组也支持布尔索引。

    t = (1, 2, 3, 4, 5, 6, 7, 8, 9)
    b = [True, False, False, True, False, False, True, False, False]
    c = [x > 5 for x in t]
    print(t[b])  # 输出(1, 4, 7)
    print(t[c])  # 输出(6, 7, 8, 9)

五、总结

Python中的索引技巧非常丰富,掌握好这些技巧可以大大提高编程效率。基础索引、切片索引、扩展切片索引和布尔索引都是非常实用的技巧。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/303045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-31 11:49
下一篇 2024-12-31 11:49

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 使用vscode建立UML图的实践和技巧

    本文将重点介绍在使用vscode在软件开发中如何建立UML图,并且给出操作交互和技巧的指导。 一、概述 在软件开发中,UML图是必不可少的重要工具之一。它为软件架构和各种设计模式的…

    编程 2025-04-29

发表回复

登录后才能评论