参考:循环

Note:

A.for···in循环:

1.for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

eg.

#!/usr/bin/env python3

list_A = ['Michael', 'Chen', 'David']

for i in list_A :
print(i)

output:

sh-3.2# ./forin.py
Michael
Chen
David

eg.

x = 0

for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] :
x += i print(x)

output:

55

2.Python 提供了range()函数,range(n+1)会生成0-n的整数序列。range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个列表。

>>> for i in range(10):
... print(i)
...
0
1
2
3
4
5
6
7
8
9
>>> for i in range(2, 10):
... print(i)
...
2
3
4
5
6
7
8
9
>>> for i in range(2, 10, 2):
... print(i)
...
2
4
6
8
>>>

B.while循环:

Python中的while语句和C语言的语法基本一致,支持break和continue,这里不再阐述。

练习:

L = ['Bart', 'Lisa', 'Adam'] 输出list L中的元素。

#!/usr/bin/env python3

L = ['Bart', 'Lisa', 'Adam']

for i in L :
print(i)

Or

#!/usr/bin/env python3

n = 3

while n > 0 :
print(L[-n])
n = n-1

Hint:

reference:[Python] xrange和range的使用区别

在Barefoot的topo.py中,有这样的一句循环:

for h in xrange(nb_hosts):
host = self.addHost('h%d' % (h + 1))

其中的xrange()函数和range的用法完全相同,但是返回的是一个生成器。

Python2支持xrange()函数,但是在Python3中不支持:

>>> xrange(10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'xrange' is not defined

在Python2.7中,xrange()函数一般在要生成很大的数字序列的时候使用,无需预开辟一块较大的内存空间,能够节省性能。

eg.

>>> r = range(0, 50)
>>> r
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
>>> type(r)
<type 'list'>
>>> print r[0], r[49]
0 49 >>> xr = xrange(0, 50)
>>> xr
xrange(50)
>>> type(xr)
<type 'xrange'>
>>> print xr[0], xr[49]
0 49 >>> list(xr) == r
True

2017/1/27

Python学习札记(八) Basic5 循环的更多相关文章

  1. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  2. python学习之判断和循环的使用

    作为一个小白运维,工作中常常发现很多东西还是自动化的好一点,所以就想到的用python来编写脚本.当然,我肯定是不会的啦,哈哈哈~~~~所以啦,身为一个懒癌晚期的上班族不得不在闲余时间来好好学学pyt ...

  3. Python学习(6)循环语句

    目录 Python循环语句 - while循环语句 -- 无线循环 -- 循环使用else语句 -- 简单语句组 - for循环语句 -- 通过序列索引迭代 -- 循环使用else语句 - 循环嵌套 ...

  4. Python学习札记(十八) 高级特性4 生成器

    参考:生成器 Note 1.通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的,且容易造成空间浪费.所以,如果列表元素可以按照某种算法推算出来,那我们可以在循环的过程中 ...

  5. Python学习札记(三十八) 面向对象编程 Object Oriented Program 9

    参考:多重继承 NOTE #!/usr/bin/env python3 class Animal(object): def __init__(self, name): self.name = name ...

  6. Python学习札记(二十八) 模块1

    参考:模块 NOTE 1.模块:一个.py文件称为一个模块. 2.代码模块化的意义:a.提升程序的可维护性 b.不用重复造轮子 3.避免模块冲突,解决方法:引入了按目录来组织模块的方法,称为包(Pac ...

  7. python学习札记(1)

    首先给大家推荐一个很好的python入门网站,感觉比<python基础>之类的书更容易懂,廖雪峰小站,希望有学习资源同学们也能多多交流.下面是今天所学: 下面总结一些非常有特色的函数及其应 ...

  8. Python学习笔记八

    类的高级用法 多态:   在其他语言,使用的是类的继承. 在python中,不需要指定数据类型. 基于TCP协议的socket通信实现: 类似于打电话的情景. 服务端: 1.买手机 2.插卡 3.开机 ...

  9. Python学习4——条件、循环及其他语句总结

    多种语句 打印语句: 导入语句: 赋值语句: 代码块: 条件语句: 断言: 循环: 推导: pass.dal.exec和eval :  学习到的新函数:(以下函数的应用代码均在IDLE测试通过) ch ...

随机推荐

  1. tomcat启动报错:Injection of autowired dependencies failed

    Error creating bean with name 'backPrintPaperController': Injection of autowired dependencies failed ...

  2. (转载)移动Web开发技巧汇总

    META相关 1. 添加到主屏后的标题(IOS) <meta name="apple-mobile-web-app-title" content="标题" ...

  3. pandas_datareader.data 和 fix_yahoo_finance 获取金融数据

    参考:https://zhuanlan.zhihu.com/p/35360694 1.获取数据 #定义所需要的数据 gafataDict={"谷歌":"GOOG" ...

  4. Shiro-Base64加密解密,Md5加密

    Shiro权限框架中自带的加密方式有Base64加密,MD5加密 在Maven项目的pom.xml中添加shiro的依赖: <dependency> <groupId>org. ...

  5. java-mybaits-00401-Mapper-输入输出

    Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 1.parameterType(输入类型) 1.1.#{}与${} #{} ...

  6. python web中的文件上传与下载

    django 框架下 实现服务端的文件上传与下载: import jsonimport osimport uuid def attachment_upload(request): "&quo ...

  7. JS通过身份证号获取生日、年龄、性别

    <script> function IdCard(UUserCard,num){ if(num==1){ //获取出生日期 birth=UUserCard.substring(6, 10) ...

  8. Jenkins节点配置页面,启动方法没有"Launch agent via Java Web Start"解决方法?

    Jenkins的配置从节点中默认没有Launch agent via JavaWeb Start,解决办法: 步骤: 1:打开"系统管理"——"Configure Glo ...

  9. android 带RadioButton的Dialog

    package com.example.dialog3; import android.os.Bundle;import android.app.Activity;import android.app ...

  10. POJ - 1511 - 两次SPFA

    这道题也算是一道模板题,但是第一次用优先队列迪杰斯特拉就T了.1e6的数据量,给了8s,网上其他题解中说要用SPFA. 题意:N个点的带权有向图.每次都从1出发,要到达其余没有被访问过的一个点(发传单 ...