>>> 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 ]
如果想让他们颠倒形成reverse函数的效果 >>> array[:: - 1 ]
[ 4 , 8 , 6 , 3 , 5 , 2 , 1 ]
>>> array[:: - 2 ]
[ 4 , 6 , 5 , 1 ]
|
感觉自己懂了吧,那么来个冒泡吧:
array = [ 1 , 2 , 5 , 3 , 6 , 8 , 4 ]
for i in range ( len (array) - 1 , 0 , - 1 ):
print i
for j in range ( 0 , i):
print 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()函数一句就能搞定.......
转自:http://www.cnblogs.com/buro79xxd/archive/2011/05/23/2054493.html
相关推荐
range() range()函数是Python中常用的函数之一,它可以生成一个整数序列。在LeetCode中,我们经常需要使用range()函数来遍历数组或者列表。例如,我们可以使用range(len(nums))来遍历一个数组nums。 2. len() len()...
例如,len()函数可以返回一个字符串的长度,range()函数可以生成一个数字序列。下面是一些常用的内置函数: ``` python-入门笔记全文共3页,当前为第1页。 len("Hello, world!") # 返回字符串的长度 python-入门笔记...
python分段函数-23-公共方法之range.ev4.rar
Python 冒泡排序算法的实现 下面是 Python 冒泡排序算法的实现代码: ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr...
0 for i in range(35, sum += i print("Sum from 50): 35 to 49 is", sum) python基础教程-函数全文共22页,当前为第3页。 函数是什么 def sum(i1, i2): result = 0 for i in range(i1, i2 + 1): result += i return...
在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典...在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange
python 函数的使用-python基础,python函数的使用说明,有python2的参考代码 函数的基本组成 函数是重用的程序段。 一块语句一个名称,可以在程序的任何地方使 用这个名称任意多次地运行这个语句块。 这被称为 调用 ...
python的for循环语句range_Python基础教程:for循环语句与 range()函数 for 循环 For … in 语句是另⼀种循环语句,其特点是会在⼀系列对象上进⾏迭代(Iterates),即它会遍历序列中的每⼀个项⽬ 注意: 1、else ...
Python range() 函数的一个JavaScript实现
这只是python range-function和zip-function(从其他编程语言中已知)的基本实现。 随时提供一些反馈或建议。 此外,请随意使用代码(或对其进行编辑)。 如果您想看一点演示,只需编译“ example.cpp”文件并运行它...
python3.7⼊门教程-python3.7函数基础⼊门 ⼀、函数 从开始接触python就接触了函数。 例如 input()函数⽤于获取⽤户键盘输⼊、print()函数⽤于输出结果、range()函数⽤于⽣成整数序列、len()函数⽤于获取序列的长度...
Python中的range函数。 一篇文章带你快速了解!
for 循环的基本结构、range 类型等等。然后完成 1~100 求和、判断素数、猜数字游戏、打印九九表、打印三角形图案、猴子吃桃等经典案例。 第 5 天总结前四天的知识点。 第 6 天函数和模块的使用知识
有的是通过内置 range 函数生成一串数字列表,也可以是包含任何类型对象的队列。 Eg.数字列表 for i in range(1,5): print(i) else: print(for 循环结束) Eg.字符串列表 lessons = [语文,数
本文实例讲述了python开发中range()函数用法。分享给大家供大家参考,具体如下: python中的range()函数的功能很强大,所以我觉得很有必要和大家分享一下 就好像其API中所描述的: If you do need to iterate over a...
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,...
以 python 库的形式实现 NSGA-II 算法。 该实现可用于解决多变量(多于一维)多目标优化问题。目标和维度的数量不受限制。一些关键算子被选为:二元锦标赛选择、模拟二元交叉和多项式变异。请注意,我们并不是从头...
Python-OpenCV中虽然不存在直接得函数,但是很容易使用相关的函数来实现。 代码: import numpy as np import random import cv2 def sp_noise(image,prob): ''' 添加椒盐噪声 prob:噪声比例 ''' output = np....
python3菜鸟教程 详细记录python的range函数用法.docx