python 列表的查询操作和切片

 更新时间:2022年01月26日 11:54:38   作者:只是有点小怂  
这篇文章主要介绍了python 列表的查询操作和切片,列表是python内置的数据结构,相当于数组,列表中所有数据都是按顺序有序排列,列表属于序列类型,接下来一起学习下面的文章内容吧

1.列表

  • 列表是python内置的数据结构(列表、元组、字典、集合),相当于数组
  • 列表中所有数据都是按顺序有序排列,列表属于序列类型
  • 列表中的所有数据都有正数和负数的索引,通过指定的索引总能映射到唯一确定的数据
  • 列表中可以存在重复的数据(区分set)
  • 列表中可以保存任何类型的数据,多种类型的数据可以混合存储在一个列表中
  • 列表可以根据需要动态地伸缩,系统会根据需要动态地分配和回收内存,使用前无须预先声明列表的容量

2.列表的创建[]或list()

  • 用中括号[]创建列表,变量名不要取名为list或l,list是列表对应的类名,l容易被误认为数字1
  • 调用内置函数list()(类list的构造方法)
L = [] # 创建空列表
L = [1,2,3,4,5,'python']
print(L) # [1, 2, 3, 4, 5, 'python']
list(rang(1, 5)) # 传入range对象 [1,2,3,4]
list([1,2,3,4,5,'python']) # 直接传入中括号[]
list() # 创建空列表

3.定位列表中的元素L[0]

使用索引获得列表的元素,如果指定的索引在列表中不存在,抛出错误IndexError: list index out of range

4.查询列表中元素索引L.index()

  • 第一个元素索引是0,后续元素依次+1
  • 最后一个元素索引是-1,前面元素依次-1

L = ['H','e','l','l','o'] # 定义列表,元素可以为数值,但怕给索引搞混了用了字符
L.index('e')
L.index('l')
L.index('h') # value error
L.index('l',2) # 从索引2开始找'l'
L.index('l',2,5) # 在[2, 4]内找'l'
  • 获得列表中指定元素的索引调用方法index,只返回大于0的数值,比如L.index(‘e’) = 1,如列表中存在多个指定元素,方法index只返回第一个指定元素的索引值,比如L.index(‘l’) = 2,如果列表中不存在指定元素,抛出错误ValueError: ‘h’ is not in list
  • 调用方法index时还可以指定起始索引start和结束索引stop两个参数,在一定范围内查找元素 (不包含索引stop处值)

5.列表的切片操作L[start:stop:step]

  • 切片的语法格式 [start:stop:step]
  • 得到的切片依然是列表,是原始列表的片段的一份拷贝
  • 得到的切片不包括索引stop对应的元素
  • 步长step默认值为1,这时可以简化为[start:stop]
  • 当step为正数时
  1. 如果不指定start,切片的第一个元素默认是列表是第一个元素
  2. 如果不指定stop,切片的最后一个元素默认是列表的最后一个元素
  3. 从索引start开始往后计算切片
  • step为负数时
  1. 如果不指定start,切片的第一个元素默认为列表的最后一个元素
  2. 如果不指定stop,切片的最后一个元素默认是列表的第一个元素
  3. 从索引start开始往前计算切片

L = list('HelloWorld')
L[1:7:2]
L[1:6]
L[:] # 返回整个列表 输入L[]报错SyntaxError: invalid syntax
L[::-1] # 翻转整个列表
L[:-1] # stop指定为-1所在元素 ['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l']
L[6:0:-2]
L[0:6:-2] # start指定为0所在元素,往前看没有值,返回[]
L[8::-2] # ['l', 'o', 'o', 'l', 'H']
L[8:0:-2] # ['l', 'o', 'o', 'l'] 不包含stop指定的元素
L[-2:0:-2]
L[:3:-2]
  • 切片操作允许索引越界(对比index不允许)
L = list('HelloWorld')
L[:100]
L[-100:]

6.L[slice(start,stop,step)]

  • 可以调用内置函数slice(类slice的构造方法)创建slice类型的对象
  • 内置函数slice有三种调用方式
  1. slice(stop)
  2. slice(start,stop)
  3. slice(start,stop,step)
  • start、stop和step的默认值都是None
  • slice(start,stop,step)与切片操作中的start:stop:step等价
L = list('HelloWorld')
L[slice(1,9,2)]
L[1:9:2]
L[::]
L[slice(None,None,None)] # L[slice(None)] 返回整个列表
L[1:7]
L[slice(1,7)]
L[:7]
L[slice(7)] #可以只输入stop,也可写作 L[slice(None, 7)]

7.in/not in 查询是否包含某个元素,存在返回True

L = list('HelloWorld')
print(5 in L) # False

到此这篇关于python 列表的查询操作和切片的文章就介绍到这了,更多相关python 列表的查询操作和切片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python sys模块及常用功能

    python sys模块及常用功能

    在Python中,sys模块提供了访问和使用解释器的许多功能的方法,包括命令行参数、环境变量、路径管理、标准输入输出流等,sys模块是Python的标准库的一部分,不需要额外安装即可使用,本文介绍python sys模块相关知识,感兴趣的朋友一起看看吧
    2024-09-09
  • 利用Python循环(包括while&for)各种打印九九乘法表的实例

    利用Python循环(包括while&for)各种打印九九乘法表的实例

    下面小编就为大家带来一篇利用Python循环(包括while&for)各种打印九九乘法表的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望对大家有所帮助
    2017-11-11
  • 在Python中绘制带有连接线的双饼图(操作代码)

    在Python中绘制带有连接线的双饼图(操作代码)

    这篇文章主要介绍了如何在Python中绘制带有连接线的双饼图,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • Python读写csv文件的超详细步骤

    Python读写csv文件的超详细步骤

    python提供了大量的库,可以非常方便的进行各种操作,下面这篇文章主要给大家介绍了关于Python读写csv文件的超详细步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 利用pygame完成动画精灵和碰撞检测

    利用pygame完成动画精灵和碰撞检测

    这篇文章主要介绍了利用pygame完成动画精灵和碰撞检测,代码详细,内容丰富,对于想要学习pygame的朋友来讲是一个不错的练习,需要的朋友可以参考下
    2021-04-04
  • pandas的连接函数concat()函数的具体使用方法

    pandas的连接函数concat()函数的具体使用方法

    这篇文章主要介绍了pandas的连接函数concat()函数的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python中Pyqt5使用Qlabel标签进行视频播放

    python中Pyqt5使用Qlabel标签进行视频播放

    这篇文章主要介绍了python中Pyqt5使用Qlabel实现标签进行视频播放,QLabel是界面中的标签类,继承自QFrame类,提供文本和图像的显示,是一种展示控件,下文相关内容介绍需要的小伙伴可以参考一下
    2022-04-04
  • Python中使用PyMySQL模块的方法详解

    Python中使用PyMySQL模块的方法详解

    Python中的pymysql模块是用于连接MySQL数据库的一个第三方库,它提供了一套API,使得Python程序员能够方便地执行SQL语句、操作数据库,下面这篇文章主要给大家介绍了关于Python中使用PyMySQL模块的相关资料,需要的朋友可以参考下
    2024-08-08
  • 使用Python操作Excel中图片的基础示例(插入、替换、提取、删除)

    使用Python操作Excel中图片的基础示例(插入、替换、提取、删除)

    Excel是主要用于处理表格和数据的工具,我们也能在其中插入、编辑或管理图片,为工作表增添视觉效果,提升报告的吸引力,本文将详细介绍如何使用Python操作Excel中的图片,文中有详细代码示例供大家参考,需要的朋友可以参考下
    2024-07-07
  • Django Serializer HiddenField隐藏字段实例

    Django Serializer HiddenField隐藏字段实例

    这篇文章主要介绍了Django Serializer HiddenField隐藏字段实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论