Python 中的range(),以及列表切片方法


Posted in Python onJuly 02, 2018

range()函数配合循环一块使用很方便,今天来整理一下这个函数的主要用法,以及几个小例子

首先来看一下函数原型,非常简单:

range(start,end [,step])

或者连start都省略掉:

range(end)

其中,start表示开始点,end表示结束点,真正结束的位置是end的前一个值,step表示步长。

例如:

print(list(range(1,5)))
#list函数是将range的值列表化,这时候的输出为 1,2,3,4 (没有5!即不包括最后一个end的值)
print(list(range(1,5,2)))
#输出结果是 [1, 3] ,步长为2,而且小于5

如果只传入一个参数:

print(list(range(5)))
#输出结果是 [0, 1, 2, 3, 4] ,这时候默认从0开始

rang的这些使用,我们可以同列表的遍历结合起来,比如对一个列表进行遍历访问:

#首先我用一个range生成一个列表,其中包含0~9 10个元素
list1 =list(range(10))
# #使用range的方式进行遍历:
for i in range(len(list1)):
  print(list1[i])

#当然这种情况我们一般都是直接使用 for value in list1 就可以了
#如果使用切片,访问列表的一部分

for i in range(int(len(list1)/2)):
  print(list1[i])

#这样我们就可以得到列表中前一半元素,其他部分同理

有的时候我们还会用到一个列表的逆序,使用range可以这样:

list1 =list(range(10))
for i in range(len(list1)-1,0,-1):
  print(list1[i])
#注意这个地方开始的位置是len-1,因为我们使用的列表的下标,其实这里的使用与C语言是一致的,步长设置为-1
#就相当于我们在for循环的 i--了

使用循环的方式,我们可以在每次循环中对数据进行一些操作,但是如果仅仅是得到这些数据,我们可以利用列表的切片slide来做,切片的方式非常灵活,例如比较简单的:

list1 =list(range(10))
print(list1[:])
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list1[3:])
# [3, 4, 5, 6, 7, 8, 9]
print(list1[3:5])
# [3, 4]
print(list1[1:5:2])
# [1, 3]

从这里我们可以看出切片的使用方式与range大同小异,都是三个参数,分别控制开始,结束以及步长,在range中我们可以使用 -1 ,那么同理,在切片中,同样如此,对于每一个列表项,不仅仅有一个正向的序号,还有一个反向的序号,最后一个元素可以使用list1[-1]来表示,倒数第二个元素就是list1[-2]….:

print(list1[1:-1])
# 这里表示从第一个元素到最后一个元素

如果逆序输出的话:

print(list1[-1::-1])
#或者简记为:
print(list1[::-1])

接下来是我之前遇到的一个问题,如何在一个列表中保存A-Z或者Z-A?

list2 = []
for i in range(ord('A'),ord('A')+26):
  list2.append(chr(i))
print(list2)

list3 = [chr(ord('A')+x) for x in range(26)]
print(list3)

这两种方法都可以生成一个包含A-Z的列表,对于这个问题,如果使用过其他语言,首先可能会使用int(‘A')获取A的ASCII,但是在Python中却会报错,因为这里int()函数是默认基与十进制的,对于字母转化为数字,有函数ord可以使用,有字母转化回ASCII则可以使用chr()函数,第二种方式是使用了列表生成式的方式,写起来比较简单,除了这些方法之外,还可以使用map()函数对列表的每一个值进行处理,在此不再介绍。

以上这篇Python 中的range(),以及列表切片方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 冒泡,选择,插入排序使用实例
Feb 05 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
python绘制简单折线图代码示例
Dec 19 Python
python爬虫爬取网页表格数据
Mar 07 Python
win8下python3.4安装和环境配置图文教程
Jul 31 Python
python3.7 sys模块的具体使用
Jul 22 Python
如何在 Django 模板中输出 "{{"
Jan 24 Python
Python用input输入列表的实例代码
Feb 07 Python
python 字典item与iteritems的区别详解
Apr 25 Python
Python日志处理模块logging用法解析
May 19 Python
上帝为你开了一扇窗之Tkinter常用函数详解
Jun 02 Python
python数据处理之Pandas类型转换
Apr 28 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 #Python
分享vim python缩进等一些配置
Jul 02 #Python
实践Vim配置python开发环境
Jul 02 #Python
用python实现将数组元素按从小到大的顺序排列方法
Jul 02 #Python
Django实现分页功能
Jul 02 #Python
详解python单元测试框架unittest
Jul 02 #Python
python中多层嵌套列表的拆分方法
Jul 02 #Python
You might like
php 常用类汇总 推荐收藏
2010/05/13 PHP
简单的php写入数据库类代码分享
2011/07/26 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP单例模式详细介绍
2015/07/01 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
JS jQuery使用正则表达式去空字符的简单实现代码
2017/05/20 jQuery
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
Python continue语句用法实例
2014/03/11 Python
用Python实现协同过滤的教程
2015/04/08 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
2018/07/17 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python使用minimax算法实现五子棋
2019/07/29 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
h5封装下拉刷新
2020/08/25 HTML / CSS
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
经济国贸专业求职信
2014/06/18 职场文书
建筑节能汇报材料
2014/08/22 职场文书
投标承诺函格式
2015/01/21 职场文书
校园安全主题班会
2015/08/12 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫