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之wxPython菜单使用详解
Sep 28 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
Feb 13 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
Python生成随机验证码代码实例解析
Jun 09 Python
Python如何使用ElementTree解析xml
Oct 12 Python
python numpy中multiply与*及matul 的区别说明
May 26 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 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
浅谈json_encode用法
2015/03/05 PHP
Yii调试查看执行SQL语句的方法
2016/07/15 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
vuejs如何配置less
2017/04/25 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
jQuery实现飞机大战小游戏
2020/07/05 jQuery
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
Python中字典的基本知识初步介绍
2015/05/21 Python
Python实现购物程序思路及代码
2017/07/24 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
python3.7 的新特性详解
2019/07/25 Python
python实现AdaBoost算法的示例
2020/10/03 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
印尼购物网站:iLOTTE
2019/10/16 全球购物
设计师个人求职信范文
2014/02/02 职场文书
颐和园导游词400字
2015/01/30 职场文书
新学期开学寄语2016
2015/12/04 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang
MyBatis 动态SQL全面详解
2021/10/05 MySQL
Python3的进程和线程你了解吗
2022/03/16 Python