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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
Python 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
python使用sorted函数对列表进行排序的方法
Apr 04 Python
python实现连接mongodb的方法
May 08 Python
Python制作爬虫抓取美女图
Jan 20 Python
解决Django模板无法使用perms变量问题的方法
Sep 10 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
python使用wxpy轻松实现微信防撤回的方法
Feb 21 Python
如何基于Python批量下载音乐
Nov 11 Python
如何卸载python插件
Jul 08 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 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 XPATH获取img src值的query
2013/09/23 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
python的类方法和静态方法
2014/12/13 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
2015/04/30 Python
Django 视图层(view)的使用
2018/11/09 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
Python 变量的创建过程详解
2019/09/02 Python
Python实现FLV视频拼接功能
2020/01/21 Python
Python 防止死锁的方法
2020/07/29 Python
W3C公布最新的HTML5标准草案
2008/10/17 HTML / CSS
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
html5实现滑块功能之type="range"属性
2020/02/18 HTML / CSS
毕业自我评价
2014/02/05 职场文书
结婚周年感言
2014/02/24 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
2014年卫生工作总结
2014/11/27 职场文书
先进集体事迹材料范文
2014/12/25 职场文书
2015新学期开学寄语
2015/02/26 职场文书
培训班开班主持词
2015/07/02 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
高一作文之乐趣
2019/11/21 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android