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如何import文件夹下的文件(实现方法)
Jan 24 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
浅谈Python中的私有变量
Feb 28 Python
flask入门之表单的实现
Jul 18 Python
python学习--使用QQ邮箱发送邮件代码实例
Apr 16 Python
pybind11和numpy进行交互的方法
Jul 04 Python
基于python实现语音录入识别代码实例
Jan 17 Python
使用keras内置的模型进行图片预测实例
Jun 17 Python
pycharm导入源码的具体步骤
Aug 04 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
python+flask编写一个简单的登录接口
Nov 13 Python
Python爬虫爬取有道实现翻译功能
Nov 27 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命令空间namespace及use的用法小结
2017/11/27 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
jQuery实现鼠标划过展示大图的方法
2015/03/09 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
老生常谈js动态添加事件--- 事件委托
2016/07/19 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
5种Python单例模式的实现方式
2016/01/14 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
对PyTorch torch.stack的实例讲解
2018/07/30 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
django 读取图片到页面实例
2020/03/27 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
CSS3 Backgrounds属性相关介绍
2011/05/11 HTML / CSS
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
html Table 表头固定的实现
2019/01/22 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
杭州时比特电子有限公司SQL
2013/08/22 面试题
助人为乐表扬信范文
2014/01/14 职场文书
财务总监管理职责范文
2014/03/09 职场文书
音乐学专业求职信
2014/07/22 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS