列表切片是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. NYOJ 1277Decimal integer conversion (第九届河南省省赛)

    XiaoMing likes mathematics, and heis just learning how to convert numbers between different bases , ...

  2. Rancher中的服务升级实验

    个容器副本,使用nginx:1.13.0镜像.假设使用一段时期以后,nginx的版本升级到1.13.1了,如何将该服务的镜像版本升级到新的版本?实验步骤及截图如下: 步骤截图: 个容器,选择镜像ngi ...

  3. Token和SessionStorage(会话存储对象)

    sessionStorage数据只在当前标签页共享 存在本地   关闭浏览器后会清除数据(关闭标签页不会清楚) localStorage数据会存在浏览器中  浏览器关了数据也还在 只有清除缓存才会消失 ...

  4. HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记

    HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL  DEEP  CONVOLUTIONAL NEURAL NETWORK 论文地址:https:/ ...

  5. nodejs模拟http发送请求

    首先需要安装模块request,然后代码如下: //模拟发送http请求 var request = require("request"); //get请求 request('ht ...

  6. HTML第六章总结

    Something Serious of HTML 这一章节主要讲了 HTML 的历史,还有如何使得 HTML 更加规范. HTML's Brief History 在 HTML4 之前,struct ...

  7. 雷林鹏分享:C# 环境

    C# 环境 在这一章中,我们将讨论创建 C# 编程所需的工具.我们已经提到 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序.因此,在讨论运行 C# 程序的可用工具之前,让我们先了解一 ...

  8. 关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中

    说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spar ...

  9. 51Nod-1441 士兵的数字游戏

    题目要求是求出a!/b!(a>=b)的结果,让其不断做除法,最多能做多少次.这个问题首先可以转化为求a!中所有质因子个数-b!中所有质因子个数.以前做过一道快速求某个阶乘对一个素数的因子个数的题 ...

  10. PHP个人博客项目------切切歆语博客

    php+mysql+apache, ThinkPHP3.2框架开发 我的个人博客项目 适合新手练习 源码地址下载:https://github.com/DickyQie/php-myblog