列表切片是python语言独有的特征,大大方便了我们的编码。

首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数。

insert,get,set 操作均可传入负数下标

当传入的下标是负数时,python会自动的加上一个length,但只会加一次,也就是说如果这个负数超过了 - length ,那么就会报错了

list 的负数下标

 a = [1, 2, 3, 4, 5]
# index = -1 + 5 = 4
# a[-1] == a[4]
print(a[-1]) #

当负数下标超过length

 a = [1, 2, 3, 4, 5]
# index = -6 + 5 = -1
print(a[-6]) # IndexError: list index out of range

接下来是切片

list 的下标可以接收三个参数,分别是 beg (起始下标), end (结束下标) , step(步长)more,用冒号分隔

当 step > 0 :   beg 默认值是0,  end 默认值是  最末之后

当 step < 0 :  beg 默认值是length-1,  end默认值是  开头之前

当 step = 0: 报错

step 默认值是1

 a = [1, 2, 3, 4, 5]
# step 默认值 1 ,当 step > 0, beg 默认值 0 ,end 默认值 最末之后
print(a[:]) # [1, 2, 3, 4, 5]
print(a[::]) # [1, 2, 3, 4, 5]
print(a[0:5:1]) # [1, 2, 3, 4, 5]
print(a[0:1000:1]) # [1, 2, 3, 4, 5] # 当 step < 0, beg 默认值 length-1 ,end 默认值 开头之前
print(a[::-1]) # [5, 4, 3, 2, 1]
print(a[len(a) - 1:-100:-1]) # [5, 4, 3, 2, 1]

切片产生的是列表的一个副本:

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

切片的写操作:

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

end

python 列表切片的更多相关文章

  1. Python 列表切片陷阱:引用、复制与深复制

    Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了.但今天刷 Codewars 时发现了一个更大的坑,故在此记录. Python 列表赋值:复制"值"还是 ...

  2. python列表切片

    Python中符合序列的有序序列都支持切片(slice),例如列表,字符串,元组. 格式:[start:end:step] start:起始索引,从0开始,-1表示结束 end:结束索引 step:步 ...

  3. Python列表切片详解([][:][::])

    Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码: a = list[::10] 1 不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用 ...

  4. python 列表切片之负数的含义代码示例

    a = list(range(10)) print(a[::]) #复制一个列表 print(a[::2]) #每隔2个取一次 print(a[::3]) #每隔3个取一次 print(a[::-1] ...

  5. python之列表切片(slice)

    使用索引获取列表的元素(随机读取) 列表元素支持用索引访问,正向索引从0开始 colors=["red","blue","green"] c ...

  6. python 输出所有大小写字母, range()以及列表切片

    所以在写的时候,只要把它们的ASCII列出,并转化成字符型chr 即可. print [chr(i) for i in range(65,91)]#所有大写字母 print [chr(i) for i ...

  7. Python列表的切片操作

    在Python列表中分片是一个很重要的操作,有以下几个注意的点: 切片时不包含最后一位,如下例子中,要取最后一位,从0开始算应该是到7就可以取,但是需要8才能取 2.      默认取值步长为1,即每 ...

  8. Python 之列表切片的四大常用操作

    最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整 ...

  9. python列表的索引与切片

    <1>.python的列表 索引方式: 例如,list1 = ['张三','男','33','江苏','硕士','已婚',['身高178','体重72']] 1.正向单索引 print(l ...

随机推荐

  1. 项目上有红色感叹号, 一般就是依赖包有问题, remove依赖,重新加载,maven的也行可认删除,自己也会得新加载

    项目上的红色叹号, 要下面提示: "Problems"  里的errors  , 看是什么错误,  一般是由于网络等原因,  依赖没有下载完整,  只有文件名字对了,  内容不全, ...

  2. 解决UnicodeEncodeError。python的docker镜像增加locale 中文支持

    用pandas的pd.read_excel()打开中文名的xlsx,报错,本来以为是xlrd的问题后来发现,是open()函数就报错: “UnicodeEncodeError: 'ascii' cod ...

  3. JS self=this

    1.每个函数都会有自己的this和arguments:this对象绑定运行环境,arguments绑定调用参数. 2.全局函数:this和全局环境绑定,浏览器指向全局window对象(node.js中 ...

  4. word2010怎么把白色方框变成黑色方框?

    word2010怎么把白色方框变成黑色方框? 打开Word 2010文档,选中第四个白色方框.  切换到“插入”功能区,在符号选项组单击“符号”按钮,出来的窗口单击“其他符号”.  在“符号”选项卡单 ...

  5. (转)Nandflash读写

    ------------------------------------------------------------------------------------------文章1------- ...

  6. spring boot: 支持jsp,支持freemarker

    spring boot: 支持jsp,支持freemarker 支持jsp: 加入依赖 <!--jsp--> <dependency> <groupId>org.a ...

  7. 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...

  8. Python操作MySql --Python3

    Python版本:v3.7 模块:pymysql 1.连接数据库 connectDB.py: # coding:utf-8import pymysql host = 'localhost' # 主机u ...

  9. LeetCode--389--找不同

    问题描述: 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 示例: 输入: s = "ab ...

  10. Watering Grass UVA - 10382

    喷水装置的圆心和半径确定,就能确定左端和右端.开始时pos=0,选取左端小于pos,右端最大的更新pos. #include <iostream> #include <cstdio& ...