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中的try和finally和with方法
May 05 Python
python实现文本文件合并
Dec 29 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 Python
Python3 处理JSON的实例详解
Oct 29 Python
python正则表达式之对号入座篇
Jul 24 Python
解决pycharm的Python console不能调试当前程序的问题
Jan 20 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
python字符串的拼接方法总结
Nov 18 Python
python 读取数据库并绘图的实例
Dec 03 Python
Python 存取npy格式数据实例
Jul 01 Python
如何在python中处理配置文件代码实例
Sep 27 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 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中Restful api 错误提示返回值实现思路
2016/04/12 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
详解Vue-Cli 异步加载数据的一些注意点
2017/08/12 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python封装shell命令实例分析
2015/05/05 Python
Python读取键盘输入的2种方法
2015/06/16 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
Python编程实现双击更新所有已安装python模块的方法
2017/06/05 Python
浅谈Pandas 排序之后索引的问题
2018/06/07 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
Python偏函数实现原理及应用
2020/11/20 Python
python爬虫如何解决图片验证码
2021/02/14 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
大学生求职简历的自我评价
2013/10/14 职场文书
元旦晚会邀请函
2014/02/01 职场文书
元旦晚会策划方案
2014/02/18 职场文书
餐厅筹备计划书
2014/04/25 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
大学生社会服务心得体会
2016/01/22 职场文书