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函数嵌套实例
Sep 23 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 Python
Python中staticmethod和classmethod的作用与区别
Oct 11 Python
python实现键盘输入的实操方法
Jul 16 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
keras中的backend.clip用法
May 22 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
python3爬虫GIL修改多线程实例讲解
Nov 24 Python
Pytorch中的数据集划分&正则化方法
May 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
1.PHP简介
2006/10/09 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
基于jquery实现导航菜单高亮显示(两种方法)
2015/08/23 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
Vue filter介绍及详细使用
2018/04/04 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
2019/11/04 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
在antd中setFieldsValue和defaultVal的用法
2020/10/29 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
利用python实现汉字转拼音的2种方法
2019/08/12 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
拓展训练激励口号
2014/06/17 职场文书
演讲稿开场白台词
2014/08/25 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
自查自纠工作总结
2014/10/15 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
小王子读书笔记
2015/06/29 职场文书
公司车辆管理制度
2015/08/04 职场文书
Java移除无效括号的方法实现
2021/08/07 Java/Android