|
|
|
|
移动端

2.3.2 循环(1)

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为大家介绍循环。

作者:李金来源:机械工业出版社|2018-05-03 18:00

人工智能+区块链的发展趋势及应用调研报告


2.3.2 循环(1)

循环(Loop)的作用是将一段代码重复执行多次。

在Python中,循环结构主要有以下两种结构:while循环和for循环。

1. while循环

while循环的基本形式为:

  1. while <condition>:  
  2.     <statesments>  

Python执行<statesments>代码块,直到条件<condition>不满足为止。

例如,我们用 while循环来计算数字 1到99999的和:

  1. In [1]: i, total = 1, 0  
  2. In [2]: while i < 100000: 
  3.    ...:     total += i  
  4.    ...:     i += 1  
  5.    ...:   
  6.  
  7. In [3]: total   
  8. Out[3]: 499999500000 

循环在i等于100000停止。再如,我们可以用列表作为循环的判断条件,在循环中每次抛出列表中的一个元素,直到列表为空,因为空的列表会被当作 False:

  1. In [4]: country = ['China', 'US', 'England']  
  2. In [5]: while country:  
  3.    ...:     c = country.pop(0)  
  4.    ...:     print "Visiting", c  
  5.    ...:   
  6.  
  7. Visiting China   
  8. Visiting US   
  9. Visiting England  

2. for循环

for循环是 Python中另一种实现循环的形式,其结构为:

  1. for <variable> in <sequence>:  
  2.     <statements> 

for循环与 while循环不同的地方在于,for循环是遍历一个序列<sequence>,每次将遍历得到的值放入变量<variable>中,而 while循环则是执行到条件不满足为止。可以被 for循环的序列包括有序序列和无序序列。

例如,列表是一种有序序列,所以上面的例子用 for循环可改写成:

  1. In [6]: country = ['China', 'US', 'England']  
  2. In [7]: for c in country:  
  3.    ...:     print "Visiting", c  
  4.    ...:   
  5.  
  6. Visiting China   
  7. Visiting US   
  8.  
  9. Visiting England 

for循环每次从列表 country中取出一个元素,赋给变量 c,然后在循环中处理 c。for循环在列表中所有的元素都被遍历完时结束。

我们用for循环实现数字 1到99999的和的计算:

  1. In [8]: total = 0 
  2. In [9]: for i in range(100000):  
  3.    ...:     total += i  
  4.    ...: In [10]: total Out[10]: 49999950000 

range()函数可以用来生成一个连续的整数列表,其基本用法如下:

zrange(stop):生成从0开始到stop-1的整数组成的列表;

range(start, stop):生成从start开始到stop-1的整数组成的列表;

range(start, stop, step):生成从 start开始到 stop-1,间隔为 step的整数组成的列表。几个range()函数的例子:

  1. In [11]: range(5) Out[11]: [0, 1, 2, 3, 4] In [12]: range(1, 5) Out[12]: [1, 2, 3, 4] In [13]: range(1, 5, 2) Out[13]: [1, 3] 

3.不同类型序列的 for循环遍历

除了列表,其他的序列也支持使用 for循环进行遍历。

有序序列,包括字符串、列表、元组等的遍历方式,都是按顺序从第一个元素开始进行遍历,如元组:

  1. In [14]: values = (5, 4, 3, 2) In [15]: for i in values:  
  2.     ...:  print i  
  3.     ...:  
  4. 5  
  5. 4  
  6. 3  

无序序列,如集合、字典等,按照某种设定的内部顺序进行 for循环遍历,这种顺序不一定是有序的,如集合:

  1. In [16]: values = {5, 4, 3, 2}  
  2. In [17]: for i in values:    ...: print i    ...:  
  3. 2 3 4 5 

字典的for循环会按照键的某种顺序进行遍历:

  1. In [18]: values = {1: "one", 2: "two", 3: "three"} In [19]: for i in values:  
  2.     ...:  print i  
  3.     ...:  
  4. 1  
  5. 2  

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

公钥基础设施PKI及其应用

公钥基础设施PKI(Public Key Infrastructure)是利用公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。公钥基础设施能为...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊