国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-15 22:07:16
字體:
供稿:網(wǎng)友

range()函數(shù)配合循環(huán)一塊使用很方便,今天來整理一下這個函數(shù)的主要用法,以及幾個小例子

首先來看一下函數(shù)原型,非常簡單:

range(start,end [,step]) 

或者連start都省略掉:

range(end)

其中,start表示開始點,end表示結(jié)束點,真正結(jié)束的位置是end的前一個值,step表示步長。

例如:

print(list(range(1,5)))#list函數(shù)是將range的值列表化,這時候的輸出為 1,2,3,4 (沒有5!即不包括最后一個end的值)print(list(range(1,5,2)))#輸出結(jié)果是 [1, 3] ,步長為2,而且小于5

如果只傳入一個參數(shù):

print(list(range(5)))#輸出結(jié)果是 [0, 1, 2, 3, 4] ,這時候默認從0開始

rang的這些使用,我們可以同列表的遍歷結(jié)合起來,比如對一個列表進行遍歷訪問:

#首先我用一個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語言是一致的,步長設(shè)置為-1#就相當于我們在for循環(huán)的 i--了

使用循環(huán)的方式,我們可以在每次循環(huán)中對數(shù)據(jù)進行一些操作,但是如果僅僅是得到這些數(shù)據(jù),我們可以利用列表的切片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大同小異,都是三個參數(shù),分別控制開始,結(jié)束以及步長,在range中我們可以使用 -1 ,那么同理,在切片中,同樣如此,對于每一個列表項,不僅僅有一個正向的序號,還有一個反向的序號,最后一個元素可以使用list1[-1]來表示,倒數(shù)第二個元素就是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)            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 博乐市| 苏尼特左旗| 台前县| 余庆县| 潮安县| 二手房| 定结县| 绥化市| 永州市| 探索| 遵化市| 玉龙| 怀宁县| 民丰县| 内丘县| 定襄县| 临汾市| 玉环县| 眉山市| 安仁县| 监利县| 海盐县| 佳木斯市| 嫩江县| 上饶市| 两当县| 盐边县| 竹溪县| 普格县| 黑水县| 林周县| 西贡区| 德州市| 永福县| 永仁县| 工布江达县| 永清县| 安达市| 北流市| 亚东县| 赤水市|