1. 列表的切片

索引取值可以从列表中取出1个元素。

如果要从列表中取出多个元素,可以用列表的切片方法。

列表的切片语法和字符串的切片语法相同。

2. 切片的语法

【语法】

列表[star:end:step]

列表[开始字符:结束字符:步长]

列表切片取值由4部分构成:

列表名。

英文中括号。

3个参数。

3个参数之间用英文冒号分隔。

参数start:表示要取的第1元素的索引(包括该元素),如果不指定,则默认为0

参数end:表示要取的最后1个元素的索引(不包括该元素),如果不指定,则默认为列表的长度。

参数step:表示切片的步长。如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。

步长我的理解就是向前或向后走几步,可以是正整数,也可以是负整数。

步长为1,表示向前走1步,那就是依次取值。

步长为2,表示一次性向前走2步,那就是要跳过1个字符。

步长为-2,表示一次性向后退2步,即从右往左跳过1个字符。

【重点提示】切片取值时包括开始字符,不包括结束字符,简单记忆为含前不含后

3. 切片取值示例

3.1 步长为1的切片取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[0:1:1])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[0:1:1]), '\n')

print(str_list[1:4:1])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[1:4:1]), '\n')

print(str_list[2:5:1])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[2:5:1]), '\n')

【终端输出】

['当归']
列表切片取值得到的数据类型仍然是列表: <class 'list'> 

['人参', '黄芪', '红枣']
列表切片取值得到的数据类型仍然是列表: <class 'list'> 

['黄芪', '红枣', '枸杞']
列表切片取值得到的数据类型仍然是列表: <class 'list'> 

【2:5:1代码解析】

start=2即开始元素的索引为2,索引2对应列表的第3个元素,即元素黄芪

end=5即结束元素的索引为5,索引5对应列表的第6个元素;上述列表只有5个元素,没有第6个元素,因此取值范围为整个列表。

step=1即步长为1,即元素间隔为1,间隔为1表示可以连续取值。

注意切片的语法:含前不含后,即含开始元素,不含结束元素。

【步长为1时冒号和步长可以省略不写】

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[0:1])

print(str_list[1:4])

print(str_list[2:5])

【终端输出】

['当归']
['人参', '黄芪', '红枣']
['黄芪', '红枣', '枸杞']

3.2 步长为3的切片取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[0:4:3])
print("列表切片取值得到的数据类型仍然是列表:", type(str_list[0:1]), '\n')

【终端输出】

['当归', '红枣']
列表切片取值得到的数据类型仍然是列表: <class 'list'> 

【0:4:3代码解析】

start=0即开始元素的索引为0,索引0对应列表的第1个元素,即元素当归

end=4即结束元素的索引为4,索引4对应列表的第5个元素,即元素枸杞

注意切片的语法:含前不含后,即含开始元素,不含结束元素枸杞

step=3即步长为3,步长为3可以理解成一次性向前走3步,那就是要跳过2个字符。

注意切片的语法:含前不含后,即含开始元素,不含结束元素。

3.3 负索引取值

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[-5:-1:3])

【终端输出】

['当归', '红枣']

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[-5:-2:3])

【终端输出】

['当归']

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[-5:-2:2])

【终端输出】

['当归', '黄芪']

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[-2:-5:-2])

【终端输出】

['红枣', '人参']

-2到-5是从右往左,从右往左步长应该为负整数,下面的代码为正整数,因此没有取到任何元素。

# 新建一个str列表
str_list = ["当归", "人参",  "黄芪", "红枣", "枸杞"]

print(str_list[-2:-5:2])

【终端输出】

[]

到此这篇关于 Python列表的切片取值详解的文章就介绍到这了,更多相关 Python切片取值内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

 Python列表的切片取值详解的更多相关文章

  1. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  2. jquery实现网站列表切换效果的2种方法

    这篇文章主要为大家详细介绍了jquery实现网站列表切换效果的2种方法,供大家参考,感兴趣的小伙伴们可以参考一下

  3. Python中的字典合并与列表合并技巧

    这篇文章主要介绍了Python中的字典合并与列表合并技巧,下文围绕主题展开详细的内容介绍,具有一的的参考价值,需要的小伙伴可以参考一下

  4. ajax初级教程之获取博文列表

    这篇文章主要介绍了ajax初级教程之获取博文列表,需要的朋友可以参考下

  5. Python基础学习列表+元组+字典+集合

    这篇文章主要介绍了Python基础学习列表+元组+字典+集合,文章接上一篇内容学习,主要针对python零基础的同学,感兴趣的话就学起来吧

  6. Spring中@Scope的几种取值方式

    这篇文章主要介绍了Spring中@Scope的几种取值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. 利用React实现虚拟列表的示例代码

    虚拟列表,其实就是将一个原本需要全部列表项的渲染的长列表,改为只渲染可视区域内的列表项,但滚动效果还是要和渲染所有列表项的长列表一样。本文就将利用React实现虚拟列表,需要的可以参考一下

  8. vue实现列表倒计时

    这篇文章主要为大家详细介绍了vue实现列表倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. python列表嵌套引发的问题总结

    这篇文章主要介绍了python列表嵌套引发的问题总结,下面问文章引发问题来自日常工作总结,具有一定的参考价值需要的小伙伴可以参考一下

  10. mybatis实现获取入参是List和Map的取值

    这篇文章主要介绍了mybatis实现获取入参是List和Map的取值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部