参考:循环

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. 设计模式之Prototype模式

    通常我们会使用new 类名()的方法会去生成一个新的实例,但在开发过程中,有时候也会有"在不指定类名的前提下生成实例"的需求,那样,就只能根据现有实例来生成新的实例. 有三种情况, ...

  2. 三种方案在Windows系统下安装ubuntu双系统

    一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已,比如Mac OS对硬件不兼容,Federa安装频繁出错,各种驱动不全等等,不推荐使用虚拟机安装. 个人感觉这是一种对操作系统的亵 ...

  3. Xshell 连接虚拟机特别慢 解决方案

    由于各种原因,xshell连接虚拟机的rhel或者CentOS都几乎是龟速...... 今天专门查了一下解决方案: 原来是ssh的服务端在连接时会自动检测dns环境是否一致导致的,修改为不检测即可,操 ...

  4. Python脚本连接数据库读取特定字段保存在文件中

    从Script表中取出Description字段作为文件名,并按协议将脚本归位相同的文件夹,取TestScript字段的内容写入文件 import MySQLdb import sys import ...

  5. java 多线程 day14 Semaphore 线程信号灯

    import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.c ...

  6. Apache配置虚拟主机的三种方法(基于IP、端口、域名)

    1 Apache虚拟主机的实现方式有3种. 基于IP的虚拟主机 基于端口的虚拟主机 基于域名的虚拟主机 2.1 启用虚拟主机的准备工作 2.1.1安装httpd [root@mail httpd]# ...

  7. 1、初识JavaScript

    前端之 JavaScript 1.存在方式. <!-- 导入javascript脚本方法 --><script type="text/javascript" sr ...

  8. php array_mutisort

    PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...

  9. Kattis - virus【字符串】

    Kattis - virus[字符串] 题意 有一个正常的DNA序列,然后被病毒破坏.病毒可以植入一段DNA序列,这段插入DNA序列是可以删除正常DNA序列中的一个连续片段的. 简单来说就是,给你一段 ...

  10. The 15th UESTC Programming Contest Preliminary D - Destr0y City cdoj1558

    地址:http://acm.uestc.edu.cn/#/problem/show/1558 题目: D - Destr0y City Time Limit: 3000/1000MS (Java/Ot ...