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实现屏幕截图的代码及函数详解
Oct 01 Python
老生常谈Python序列化和反序列化
Jun 28 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
浅谈dataframe中更改列属性的方法
Jul 10 Python
Python安装pycurl失败的解决方法
Oct 15 Python
对pycharm 修改程序运行所需内存详解
Dec 03 Python
pytorch对可变长度序列的处理方法详解
Dec 08 Python
python使用tomorrow实现多线程的例子
Jul 20 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
Pytorch训练过程出现nan的解决方式
Jan 02 Python
Python中bisect的用法及示例详解
Jul 20 Python
改变 Python 中线程执行顺序的方法
Sep 24 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
php自动获取关键字的方法
2015/01/06 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
JQuery Easyui Tree的oncheck事件实现代码
2010/05/28 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
2013/08/12 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
使用socket.io制做简易WEB聊天室
2018/01/02 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python类的动态修改的实例方法
2017/03/24 Python
Python实现对字符串的加密解密方法示例
2017/04/29 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
python re模块findall()函数实例解析
2018/01/19 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
Farnell德国:电子元器件供应商
2018/07/10 全球购物
零件设计自荐信范文
2013/11/27 职场文书
门诊手术室工作制度
2014/01/30 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
生物工程专业求职信
2014/09/03 职场文书
六五普法心得体会2016
2016/01/21 职场文书
妇产科护理心得体会
2016/01/22 职场文书