(转)python的range()函数用法
使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序。
转自:http://www.cnblogs.com/buro79xxd/archive/2011/05/23/2054493.html
这里记录一下:
>>> 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()函数一句就能搞定.......
(转)python的range()函数用法的更多相关文章
- Python的range()函数用法
Python的range()函数有三种用法,简单地说就是下图的三种用法: 运行结果如下:
- 详细记录python的range()函数用法
使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记 ...
- [转载]python的range()函数用法
使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记 ...
- python中range()函数的用法
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...
- Python range() 函数用法及字符串下标
range() 函数用法 range() 函数可创建一个整数列表,一般用在 for 循环中 range() 函数的表示方法: range(start, stop[, step]) start: 计数从 ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- Python 3 print 函数用法总结
Python 3 print 函数用法总结 1. 输出字符串和数字 print("runoob") # 输出字符串 runoob print(100) ...
- python的range()函数使用方法
python的range()函数使用非常方便.它能返回一系列连续添加的整数,它的工作方式类似于分片.能够生成一个列表对象. range函数大多数时常出如今for循环中.在for循环中可做为索引使用.事 ...
- [Python随笔]>>range()函数?
因为自己在考核的时候没有记清range()函数的具体用法,所以特意去查了下 Python range() 函数用法 python range() 函数可创建一个整数列表,一般用在 for 循环中 函数 ...
随机推荐
- vue组件间的通信
组件的定义: 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素, Vue.js 的编译器为它添加特殊功能.v ...
- bzoj千题计划117:bzoj1026: [SCOI2009]windy数
http://www.lydsy.com/JudgeOnline/problem.php?id=1026 数位DP 如果前一位填的是0, 0是前导0,下一位可以随便填 0不是前导0,下一位不能填1 为 ...
- JS替换地址栏参数值
首先,页面引入JS代码片段(整体复制粘贴即可): var Query=function(a){"use strict";var b=function(a){var b=[],c,d ...
- Java中的容器类(List,Set,Map,Queue)
Java中的容器类(List,Set,Map,Queue) 一.基本概念 Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1)Collection.一个独立元素的序列,这些元素都 ...
- 《C语言程序设计基础I》秋季学习总结
希望下学期比这学期轻松,学习能力上升,只是越发丰富. 一步一步的走踏实了
- Anaconda+django写出第一个web app(二)
今天开始建立App中的第一个Model,命名为Tutorial. Model的定义在main文件夹下的models.py中通过类进行,我们希望Tutorial这个model包含三个属性:标题.内容和发 ...
- python3学习笔记.4.turtle绘图
先放上参考 https://docs.python.org/3/library/turtle.html //********************************************** ...
- Go语言的接口interface、struct和组合、继承
Go语言的interface概念相对于C++中的基类,通过interface来实现多态功能. 在C++中,当需要实现多态功能时,步骤是首先定义一个基类,该基类使用虚函数或者纯虚函数抽象了所有子类会用到 ...
- Struts2笔记2--动态方法调用和Action接收请求方式
动态方法调用(在请求的时候,再明确具体的响应方法,配置的时候不明确): LoginAction类中有两个方法some和second 1. 动态方法的调用(修改常量struts.enable.Dynam ...
- mysql远程连接数据库
配置mysql允许远程连接的方法. (1)查看3306端口状态 netstat -an | grep 3306 (2)修改mysql配置文件 ubuntu系统:vim /etc/mysql/mysql ...