Python索引技巧

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

一、基础索引

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://daima100.com/23056.html

(0)
上一篇 2023-12-09
下一篇 2023-12-09

相关推荐

  • 基于内存的数据库有哪些_数据库内存

    基于内存的数据库有哪些_数据库内存背景 广告系统中,算法模型预估需要根据广告的实时转化统计结果,才能做出更精准的预估;同时,支持多维度聚合查询(例如按照广告各个不同层级维度,按照时间不同粒度的维度),并跨大区合并。一开始的版本是基于m

    2023-05-03
    159
  • Python脚本:从入门到精通

    Python脚本:从入门到精通Python是一种高级编程语言,简单易学,被广泛应用于各种领域。Python脚本是Python语言中可以直接运行的代码文件。Python脚本通常包括一些定义、函数和表达式,可以帮助使用者实现各种功能。Python脚本的优点是语法简单,结构清晰,易于学习和使用。

    2024-07-06
    44
  • 如何在VSCode配置Python环境

    如何在VSCode配置Python环境VSCode是一个轻量级的编辑器,它拥有很多强大的功能和插件,支持多种编程语言,其中Python也是其中的一种。然而,有些读者可能会遇到配置Python环境的问题,在这篇文章中,我们将介绍如何在VSCode中配置Python环境。

    2024-05-02
    65
  • mysql整体迁移_anaconda环境迁移

    mysql整体迁移_anaconda环境迁移一次生产环境mysql迁移操作(一)数据归档 一次生产环境mysql迁移操作(二)mysql空间释放(碎片整理) 背景 在项目过程中我们经常要对数据库进行迁移、归档、拆分等等操作,现在描述下几种方案…

    2023-01-25
    164
  • 神奇的 SQL 之 ICP → 索引条件下推[亲测有效]

    神奇的 SQL 之 ICP → 索引条件下推[亲测有效]开心一刻 楼主:来,我们先排练一遍 小伙伴们:好 嘿、哈、嚯 楼主:非常好,就是这个节奏,我们开始吧 楼主:啊、啊、啊,疼 ! 你们是不是故意的 ? 回表与覆盖索引 正式讲 ICP 之前了,我们先将相

    2023-02-04
    147
  • 以Python字符串长度为中心的标题

    以Python字符串长度为中心的标题1、Python中的字符串长度可以通过len()函数来计算:

    2024-09-10
    24
  • spark rdd基本操作_python编程快速上手怎么样

    spark rdd基本操作_python编程快速上手怎么样Spark计算框架为适应高并发和高吞吐的数据处理需求,封装了三大数据结构,以处理不同应用: 1)RDD:弹性分布式数据集 2)累加器:分布式共享只写变量 3)广播变量:分布式共享只读变量 ##RDD(

    2023-05-24
    145
  • 本地库还原至阿里云RDS服务器

    本地库还原至阿里云RDS服务器摸索了很久,在此也感谢阿里云售后兄弟的支持。 1、 首先得要有个阿里云账号,已经购买RDS数据库(本文针对SQL Server)且已经开通阿里云OSS服务。 2、 本文档适用于以下版本的实例: RDS

    2022-12-20
    152

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注