1.正向范围取值

关键点

  • 首位下标是 0
  • 第一个数字是起始下标,第二个数字是结束下标(但最终结果不包含它)

例一:

# 正向范围取值 - 字符串
strs ="https://www.baidu.com/"# 从第 0 个下标开始取值,到第 1 个下标结束,但不会取第 1 个下标的元素,最终取的是 0 下标的值
print(strs[0:1])# 从第 0 个下标开始取值,到第 10 个下标结束,但不会取第 10 个下标的元素,最终取的是 1,2,3,4,5,6,7,8,9 下标的值
print(strs[0:10])# 从第 5 个下标开始取值,到第 10 个下标结束,但不会取第 10 个下标的元素,最终取的是 5,6,7,8,9 下标的值
print(strs[5:10])# 从第 5 个下标开始取值,到第 100 个下标结束,但因为字符串最长就 30 个字符,所以会取到最后一个结束就结束了
print(strs[5:100])# 相同数字返回空
print(strs[5:5])# 第二个数字比第一个数字小,返回空
print(strs[5:4])# 从第 0 个下班开始取值,取后面所有元素
print(strs[0:])# 取前面 10 个元素
print(strs[:10])

运行结果

h
https://ww
://ww
://www.baidu.com/https://www.baidu.com/
https://ww

例二:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 正向范围取值 - 数组
lists = [1, 2, 3, 4, 5, 6, 7]print(lists[0:1])
print(lists[0:10])
print(lists[5:10])
print(lists[5:100])
print(lists[5:5])
print(lists[5:4])

运行结果

[1]
[1, 2, 3, 4, 5, 6, 7]
[6, 7]
[6, 7]
[]
[]

2.反向范围取值

关键点

  • 因为是反向,所以倒数的下标从 -1 算起
  • 第一个数字是起始下标,第二个数字是结束下标(但最终结果不包含它)
  • 第一个数字是负数情况下,第二个数字最大是 -1,如果写成 0 会返回空值

例:

# 反向范围取值 - 字符串
strs = "https://www.baidu.com/"# 取最后 10 个元素
print(strs[-10:])# 取最后 6-10 的元素, 不会取到倒数第五个元素
print(strs[-10:-5])# 反向范围取值 - 列表
lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 取最后 6 个元素
print(lists[-6:])# 取最后 5 个元素, 但不会取到倒数第 1 个元素
print(lists[-5:-1])# 第二个值写0,返回空值
print(lists[-10:0])# 正数+复数组合
print(lists[1:-5])

运行结果

baidu.com/
baidu
[5, 6, 7, 8, 9, 10]
[6, 7, 8, 9]
[]
[2, 3, 4, 5]

3.[:] 复制对象

例:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
lists1 = [1, 2, 3, 4, 5]
lists2 = lists1
lists1.append(6)
print(lists1, lists2, id(lists1), id(lists2))lists1 = [1, 2, 3, 4, 5]
lists2 = lists1[:]
lists1.append(6)
print(lists1, lists2, id(lists1), id(lists2))lists1 = [1, 2, 3, 4, 5, [1, 2, 3]]
lists2 = lists1
lists1[5].append(4)
print(lists1, lists2, id(lists1), id(lists2))lists1 = [1, 2, 3, 4, 5, [1, 2, 3]]
lists2 = lists1[:]
lists1[5].append(4)
print(lists1, lists2, id(lists1), id(lists2))strs1 = "abcd"
strs2 = strs1
strs1 = "abc"
print(strs1, strs2, id(strs1), id(strs2))strs1 = "abcd"
strs2 = strs1[:]
strs1 = "abc"
print(strs1, strs2, id(strs1), id(strs2))

运行结果

[1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6] 2560550555144 2560550555144
[1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5] 2560550627784 2560548023880
[1, 2, 3, 4, 5, [1, 2, 3, 4]] [1, 2, 3, 4, 5, [1, 2, 3, 4]] 2560550627400 2560550627400
[1, 2, 3, 4, 5, [1, 2, 3, 4]] [1, 2, 3, 4, 5, [1, 2, 3, 4]] 2560550627784 2560550627656
abc abcd 2560547930776 2560548937376
abc abcd 2560547930776 2560548937376

[:] 等同于浅拷贝,对可变对象是生效的

4.[::] 步进

例:

# [::]
strs = "https://www.baidu.com/"# 取最后 10 个元素,每 2 个取 1 个
print(strs[-10::2])# 取第 0 到 10 的元素,每 5个 取 1 个
print(strs[0:10:5])print(strs[::])
# 倒序
print(strs[::-1])lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 取全部元素,每 3 个 取 1 个
print(lists[::3])
# 倒序
print(lists[::-1])

运行结果

biucm
h:
https://www.baidu.com/
/moc.udiab.www//:sptth
[1, 4, 7, 10]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web

Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web

Python基础教程:列表(list)切片详细操作相关推荐

  1. Python基础之列表(list)操作

    Python中,列表(list)是python支持的任意类型的元素的集合,相当于其它编程语言中的数组. 创建列表的方法有两种,一种是使用中括号[]进行创建: >>> [1,2,'x' ...

  2. Python基础教程:字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  3. python print 输出到txt_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  4. python字符串_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  5. 最后一篇,小白看的Python基础教程,详细得很(十一)

    @Author:Runsen 往期回顾: 第一篇.小白看的 Python 基础教程,详细得很(八) 第二篇.小白看的 Python 基础教程,详细得很(九) 第三篇.小白看的 Python 基础教程, ...

  6. python修改列表指定位置的_Python 基础教程—列表(1)

    Python内置了多种序列,本次讨论:列表.列表是Python提供的容器型数据类型.可变并且有序. 可变 - 列表中的每个元素的值可变,列表的长度可变,列表中的顺序可变.(支持增.删.改) 有序 - ...

  7. python100例详解-Python基础之列表常见操作经典实例详解

    本文实例讲述了Python基础之列表常见操作.分享给大家供大家参考,具体如下: Python中的列表操作 列表是Python中使用最频繁的数据类型[可以说没有之一] 一组有序项目的集合 可变的数据类型 ...

  8. Python基础教程,Python神仙级入门教程(非常详细)

    Python 是一门开源免费.通用型的脚本编程语言,它上手简单,功能强大,坚持「极简主义」. Python 类库(模块)极其丰富,这使得 Python 几乎无所不能,不管是传统的 Web 开发.PC ...

  9. python基础教程书籍推荐-Python大神推荐给小白的36本入门书籍

    Python大神推荐给小白的36本入门书籍 如果看我喜欢可以找我领取Python电子书和学习资料 1.Python编程:从入门到实践 我自己最初看的这本书,觉得非常适合入门 2.python入门经典- ...

  10. Python是什么?Python基础教程400集大型视频,全套完整视频赠送给大家

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 获 ...

最新文章

  1. 原创经验:微信小程序开发总结
  2. 计算机网络实验3:网络设备基本配置
  3. TCP的慢启动、拥塞避免、重传、快恢复乱七八糟总是记不清?11个连环问让你一次性打通任督二脉
  4. 【开200数组解决二叉搜索树的建立、遍历】PAT-L3-016. 二叉搜索树的结构——不用链表来搞定二叉搜索树...
  5. java后端简历项目经历_java后台开发个人简历怎么写
  6. 手机迅雷打不开html,迅雷打不开了怎么办
  7. MySQL数据库卸载手册
  8. python数据标注工具_数据标注工具大全汇总,有了这些工具再也不用自己开发了...
  9. PS CS6 打不开RAW格式文件
  10. 图片处理中对于Sigmod函数图像的理解
  11. 产业安全专家谈|金融行业如何践行《反电信网络诈骗法》?
  12. 百度地图自定义信息窗口样式
  13. while循环——求100以内偶数和
  14. 转自第一财经日报——基亿传媒在中国实验“广告ZARA”
  15. 如何产生指定分布的随机数?
  16. 软件定义网络(SDN)为网络交换机厂商带来商机
  17. C# WinForm dataGridView 技巧小结
  18. officeaid.addin 系统找不到指定的文件_批量修改文件名方法
  19. 福建最新建筑施工八大员之(安全员)考试题库真题及答案
  20. LaTeX支持中文英文混排编译的三种方式—Slager!

热门文章

  1. Fixed: MacOS Mojave(10.14) 解决终端用Crontab报权限问题(不管是Root还是普通用户)及Linux基础(shell)...
  2. Redux vs Mobx系列(-):immutable vs mutable
  3. CentOS下screen 命令详解
  4. Mina框架项目运用
  5. SQL -- 是否或推断线相交以在其内部的平面
  6. ASP.NET AJAX入门系列(9):在母版页中使用UpdatePanel
  7. java 线性计算_计算线性指数Tensorflow
  8. 【转载】如何在归档后启用归档信息系统
  9. 【ABAP】BASE64加密及解密
  10. SOA与EAI的比较