使用python的人都知道range()函式很方便,今天再用到他的時候發現了很多以前看到過但是忘記的細節。這裡記錄一下range(),複習下list的slide,最後分析乙個好玩兒的冒泡程式。
這裡記錄一下:
>>> range(1,5) #代表從1到5(不包含5)
[1, 2, 3, 4]
>>> range(1,5,2) #
代表從1到5,間隔2(不包含5)
[1, 3]
>>> range(5) #
代表從0到5(不包含5)
[0, 1, 2, 3, 4]
再看看list的操作:
array = [1, 2, 5, 3, 6, 8, 4]#其實這裡的順序標識是
[1, 2, 5, 3, 6, 8, 4]
(0,1,2,3,4,5,6)
(-7,-6,-5,-4,-3,-2,-1)
>>> array[0:] #
列出0以後的
[1, 2, 5, 3, 6, 8, 4]
>>> array[1:] #
列出1以後的
[2, 5, 3, 6, 8, 4]
>>> array[:-1] #
列出-1之前的
[1, 2, 5, 3, 6, 8]
>>> array[3:-3] #
列出3到-3之間的
[3]
那麼兩個[::]會是什麼那
>>> array[::2][1, 5, 6, 4]
>>> array[2::]
[5, 3, 6, 8, 4]
>>> array[::3]
[1, 3, 4]
>>> array[::4]
[1, 6]
感覺自己懂了吧,那麼來個冒泡吧:
array = [1, 2, 5, 3, 6, 8, 4]for i in range(len(array) - 1, 0, -1):
i
for j in
range(0, i):
j
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
print array
一行一行的來看:
line 1:array = [1, 2, 5, 3, 6, 8, 4]乙個亂序的list沒什麼好解釋的
line 2:for i in range(len(array) - 1, 0, -1):這就是上邊給的例子的第二條,我們替換下就成為range(6,1,-1),意思是從6到1間隔-1,也就是倒敘的range(2,7,1),隨後把這些值迴圈賦給i,那麼i的值將會是[6, 5, 4, 3, 2]
line 3:for j in range(0, i):這是乙個迴圈賦值給j,j的值將會是[0, 1, 2, 3, 4, 5][0, 1, 2, 3, 4][0, 1, 2, 3][0, 1, 2][0, 1]
那麼上邊兩個迴圈巢狀起來將會是
i------------6
j------------0j------------1j------------2j------------3j------------4j------------5
i------------5
j------------0j------------1j------------2j------------3j------------4
i------------4
j------------0j------------1j------------2j------------3
i------------3
j------------0j------------1j------------2
i------------2
j------------0j------------1
line 4:if array[j] > array[j + 1]:
>>> array = [1, 2, 5, 3, 6, 8, 4]
>>> array[0]
1>>> array[1]
2>>> array[2]
5>>> array[3]
3>>> array[4]
6>>> array[5]
8>>> array[6]
4其實·就是使用這個把這個沒有順序的array = [1, 2, 5, 3, 6, 8, 4]排序
line 5:array[j], array[j + 1] = array[j + 1], array[j] 替換賦值
line 6:列印出來
其實要想省事兒,sort()函式一句就能搞定.......
--eof--
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函式總結
1.range 函式,是python的內建函式,它能返回一系列連續新增的整數,能夠生成乙個列表物件。2.range函式大多數時常出如今for迴圈中。在for迴圈中可做為索引使用。3.range函式本質就是乙個迭代器 ps1 只有乙個引數 表示0到這個引數內的所有整數,不包含引數本身 ran rang...
Python基礎 range 函式
在做開發的時候經常會使用到range 這個函式,但對其只是模糊的理解,並不知道其真實用處。函式原型 range start,end,scan 引數含義 start 計數從start開始。預設是從0開始。例如range 5 等價於range 0,5 end 技術到end結束,但不包括end.例如 ra...