Python 中的range ,以及列表切片

2021-08-14 16:26:24 字數 2278 閱讀 2326

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):

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()函式對列表的每乙個值進行處理,在此不再介紹。

end~

python中range 的用法

語法 range stop range start,stop step range函式是乙個用來建立算數級數序列的通用函式,返回乙個 start,start step,start 2 step,結構的整 數序列 range函式具有一些特性 1.如果step引數預設,預設1 如果start引數預設,預...

python中的range 函式

python中的range 函式是python的內建函式之一 range 函式可建立乙個整數列表,一般用在 for 迴圈中。函式語法 range stop range start,stop step 引數說明 例項 range 10 從 0 開始到 9 0 1,2 3,4 5,6 7,8 9 ran...

python中range 和 xrange的區別

range 函式說明 range start,stop step 根據start與stop指定的範圍以及step設定的步長,生成乙個序列。range示例 range 5 0,1,2,3,4 range 1,5 1,2,3,4 range 0,6,2 0,2,4 xrange 函式說明 用法與rang...