python中切片的理解
Python中什么可以切片
- l Python中符合序列的有序序列都支持切片(slice)
- l 如:列表,字符,元祖
Python中切片的格式
- l 格式:[start : end : step]
- l Start:起始索引,从0开始,-1表示结束
- l End:结束索引
- l Step:步长
- l end-start=正数时,从左向右取值,=负数时反向取值
- l 注意:切片结果不包含结束索引,即不包含最后一位,-1代表最后一个位置索引
常用的几种方式:
- l [:] 如:list2=list1[:] 全部截取
- l [0:1:n] 如:list1[0:3;1] 从0开始到3每次增加1截取,不包含索引结束位置
- l [0:-1:1]:从0开始到结束,每次增加1,截取不包含索引结束位置
- l [:3]:默认从起始位置索引,每次增加1截取,结束位置索引为3
- l [3:0:-1]反向取值,每次增加1截取,不包含索引结束位置
直接看例子会更直观一些
- l
list1 = ['ji','yan','jiao']
list2 = list1[:]
print('list1[:] 打印出的结果为:',list2)
'''
打印结果:
list1[:] 打印出的结果为: ['ji', 'yan', 'jiao']
'''
list1 = ['ji','yan','jiao']
list3 = list1[0:1:1]
list3_1 = list1[0:2:1]
list3_2 = list1[0:2:2]
list3_2_1 = list1[0:3:2]
list3_3 = list1[0:-1:1]
print('list1[0:1:1] 打印的结果为:',list3)
print('list1[0:2:1] 打印的结果为:',list3_1)
print('list1[0:2:2] 打印的结果为:',list3_2)
print('list1[0:3:2] 打印的结果为:',list3_2_1)
print('list1[0:-1:1] 打印的结果为:',list3_3)
'''
打印结果:
list1[0:1:1] 打印的结果为: ['ji']
list1[0:2:1] 打印的结果为: ['ji', 'yan']
list1[0:2:2] 打印的结果为: ['ji']
list1[0:3:2] 打印的结果为: ['ji', 'jiao']
list1[0:-1:1] 打印的结果为: ['ji', 'yan']
''' list1 = ['ji','yan','jiao']
list4 = list1[:2]
list4_1 = list1[:3]
print(' list1[:2]打印结果为:',list4)
print(' list1[:3]打印结果为:',list4_1)
'''
打印结果:
list1[:2]打印结果为: ['ji', 'yan']
list1[:3]打印结果为: ['ji', 'yan', 'jiao']
'''
list1 = ['ji','yan','jiao']
list5 = list1[2:0:-1]
list5_1 = list1[2:0:-2]
print(' list1[2:0:-1]打印结果为:',list5)
print(' list1[2:0:-2]打印结果为:',list5_1)
'''
打印结果:
list1[2:0:-1]打印结果为: ['jiao', 'yan']
list1[2:0:-2]打印结果为: ['jiao']
'''
python中切片的理解的更多相关文章
- Python中切片的应用
Python中切片的应用 Python中可以通过切片实现对列表或者字符串取指定范围的操作,实际就是通过对列表或者字符串通过索引进行操作. 具体细节点击廖雪峰Python教程,其中的课后小问题在此记录下 ...
- Python中使用@的理解
Python函数中使用@ 稍提一下的基础 fun 和fun()的区别 以一段代码为例: def fun(): print('fun') return None a = fun() #fun函数并将返回 ...
- 转载-对于Python中@property的理解和使用
原文链接:https://blog.csdn.net/u013205877/article/details/77804137 重看狗书,看到对User表定义的时候有下面两行 @property def ...
- Python中yield深入理解
众所周知,python中的yield有这样的用法: def test(alist): for i in alist: yield i 这样,这个test函数就变成了一个生成器,当每次调用的时候,就会自 ...
- python中Metaclass的理解
今天在学习<python3爬虫开发实战>中看到这样一段代码3 class ProxyMetaclass(type): def __new__(cls, name, bases, attrs ...
- python中*args, **kwargs理解
先来看个例子: def foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '----------- ...
- python 05 关于对python中引用的理解
数据的在内存中的地址就是数据的引用. 如果两个变量为同一个引用,那么这两个变量对应的数据一定相同: 如果两个变量对应的数据相同,引用不一定相同. 通过id(数据)可以查看数据对应的地址,修改变量的值, ...
- 深入理解python(一)python语法总结:基础知识和对python中对象的理解
用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会 ...
- Python中生成器的理解
1.生成器的定义 在Python中一边循环一边计算的机制,称为生成器 2.为什么要有生成器 列表所有的数据都存在内存中,如果有海量的数据将非常耗内存 如:仅仅需要访问前面几个元素,那后面绝大多数元素占 ...
随机推荐
- bootstrapValidator表单验证插件
bootstrapValidator——一个很好用的表单验证插件,再也不用手写验证规则啦! bootstrapValidator官方文档:http://bootstrapvalidator.votin ...
- 不容错过的超赞项目管理PPT
不容错过的超赞项目管理PPT(转载) 大公司的一个好处,是各个领域都有牛人,可以为你提供经验分享交流.腾讯庞大的培训体系更是保证了:如果你想学点什么东西,你总可以学到.腾讯内部资源30页PPT曝光 — ...
- find和grep命令合集
linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...
- docker的4种网络模型
我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: · host模式,使用--net=host指定. · container ...
- centos7 关闭selinux
关闭SeLinux 临时关闭:setenforce 0 永久关闭:vi /etc/selinux/config
- Python-生成器_36
#生成器函数 def generator(): print(1) return 'a' ret = generator() print(ret) #只要含有yield关键字的函数都是生成器函数 # y ...
- JAVA项目中的常用的异常处理情况
NO.1 java.lang.NullPointerException 这个异常比较容易遇到,此异常的解释是“程序遇上了空指针”,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现 ...
- php常用方法
在日常开发中,经常我们使用系统方法或者是自己封装的方法进行项目的开发.再此总结一下!!! 一.对于字符串截取 1.使用mbstring扩展 (注意编码的设置) mb_substr($str,2,5, ...
- vue嵌套路由
父组件 (注:to="/Flow/moban_a"这里不是文件加路径,是父组件路由+子组件路由) 路由配置
- 用 Python 写一个多进程兼容的 TimedRotatingFileHandler
我前面有篇文章已经详细介绍了一下 Python 的日志模块.Python 提供了非常多的可以运用在各种不同场景的 Log Handler. TimedRotatingFileHandler 是 Pyt ...