python 切片和range()用法说明


Posted in Python onMarch 24, 2013

理解切片基本用法:

首先需要明白,可迭代对象,按照正数索引(正序)是从0开始的,按照负数索引(逆序)是从-1开始的。
>>> astring = 'Hello world'
>>> astring[0:2]
'He'
>>>
可见,这种情况下,给切片操作一个起始位置,和一个终止位置,则显示从起始位置开始(包括起始位置)到终止位置(不包括终止位置)之间的内容;

在有负数索引的情况下,是类似的,只要确定终止位置的内容:

>>> astring[0:-1]
'Hello worl'
>>>

>>> astring
'Hello world'
>>> astring[0::1]
'Hello world'
>>> astring[0::2]
'Hlowrd'
>>> astring[0::3]
'Hlwl'
>>> astring[0::4]
'Hor'
>>>
在有三个参数的情况下,第一个起始位置,第二个是终止位置,地三个是步长。

测试程序:
# 首先理解切片含义,如下为切片程序结果演示
>>> s='abcde'
>>> s[:0]
''
>>> s[0:]
'abcde'
>>> s[1:]
'bcde'
>>> s[2:]
'cde'
>>> s[:3]
'abc'

理解range()基本用法:

测试程序一:

>>> range(1,5) # 输出从1到5的结果。包括头,不包括尾.
[1, 2, 3, 4]
>>> range(1,5,2) # 输出从1到5,间隔距离为2的结果。包括头,不包括尾.
[1, 3]
>>> range(5) # 输出从0到5的结果。默认起止为0。包括头,不包括尾.
[0, 1, 2, 3, 4]

测试程序二:

>>> s='abcde'
>>> i = -1
>>> for i in range(-1,-len(s),-1): # 输出结果
...     print s[:i]
...
abcd
abc
ab
a

测试程序三:

>>> s='abcde'
>>> for i in range(len(s),0,-1): # 输出结果
...     print s[:i]
...
abcde
abcd
abc
ab
a

测试程序四:

>>> s='abcde'
>>> for i in [None] + range(-1,-len(s),-1): # 用None作为索引值的输出结果
...     print s[:i]
...
abcde
abcd
abc
ab
a

另外,range可以直接给list变量赋值:
elements = range(0, 6)

Python 相关文章推荐
python 回调函数和回调方法的实现分析
Mar 23 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
Python实现PS滤镜的万花筒效果示例
Jan 23 Python
python 构造三维全零数组的方法
Nov 12 Python
Python获取网段内ping通IP的方法
Jan 31 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
python logging设置level失败的解决方法
Feb 19 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
python list中append()与extend()用法分享
Mar 24 #Python
python del()函数用法
Mar 24 #Python
python dict remove数组删除(del,pop)
Mar 24 #Python
python str与repr的区别
Mar 23 #Python
python 布尔操作实现代码
Mar 23 #Python
python 字符串split的用法分享
Mar 23 #Python
python赋值操作方法分享
Mar 23 #Python
You might like
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
php include类文件超时问题处理
2015/02/06 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
JavaScript 特殊字符
2007/04/05 Javascript
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
jsPDF生成pdf后在网页展示实例
2014/01/16 Javascript
JavaScript获得指定对象大小的方法
2015/07/01 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
python搜索包的路径的实现方法
2019/07/19 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
python数据预处理方式 :数据降维
2020/02/24 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
通过代码实例了解Python异常本质
2020/09/16 Python
python 通过exifread读取照片信息
2020/12/24 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
Linux中如何用命令创建目录
2015/01/12 面试题
大学生涯自我鉴定
2014/01/16 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
旷课检讨书3000字
2014/02/04 职场文书
音乐教师求职信
2014/06/28 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
2015年纪委工作总结
2015/05/13 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书