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(),以及列表切片方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]