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中__init__()方法的高级应用
May 11 Python
python中getaddrinfo()基本用法实例分析
Jun 28 Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
用Python解决计数原理问题的方法
Aug 04 Python
pycharm设置注释颜色的方法
May 23 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
python3转换code128条形码的方法
Apr 17 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
超简单的Python HTTP服务
Jul 22 Python
tensorboard显示空白的解决
Feb 15 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
Python 调用C++封装的进一步探索交流
Mar 04 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+DBM的同学录程序(4)
2006/10/09 PHP
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jquery+ajax实现直接提交表单实例分析
2016/06/17 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
纯JS实现简单的日历
2017/06/26 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
vue使用Proxy实现双向绑定的方法示例
2019/03/20 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
[46:47]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS NE
2014/05/22 DOTA
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Python文件操作基本流程代码实例
2017/12/11 Python
使用Python的Django和layim实现即时通讯的方法
2018/05/25 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
一套带答案的C++笔试题
2014/01/10 面试题
VC++笔试题
2014/10/13 面试题
毕业生自荐书模版
2014/01/04 职场文书
岗位职责的构建方法
2014/02/01 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
工程承包协议书
2014/04/22 职场文书
2016七夕情人节感言
2015/12/09 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android