|
|
|
|
移动端

2.3.2 循环(2)

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

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

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


2.3.2 循环(2)

如果想要同时得到字典的键对应的值,可以使用以下两种方式。

第一种是用索引:

  1. In [20]: values = {1: "one", 2: "two", 3: "three"}  
  2. In [21]: for k in values:    ...: print k, values[k]    ...:  
  3. 1 one 2 two 3 three 

第二种是使用.items()方法进行遍历:

  1. In [22]: for k, v in values.items():    ...: print i, v    ...:  
  2. 1 one 2 two 3 three 

事实上,.items()方法返回的值为:

  1. In [23]: values.items()   
  2. Out[23]: [(1, 'one'), (2, 'two'), (3, 'three')]  

for循环使用多变量赋值机制将键值对分别赋值给了 k和v。

4. continue和 break

continue和 break都是循环中用来执行特定功能的关键字。这两个关键字通常与判断语句一起使用,用来处理循环中的一些特殊情况。在执行某次循环时,如果遇到continue,程序停止执行这次循环,直接开始下一次循环。
例如,在遍历列表时,我们使用 continue来忽略所有的奇数值:

  1. In [24]: values = [7, 6, 4, 7, 19, 2, 1] In [25]: for i in values:  
  2.     ...:  if i % 2 != 0:  
  3.     ...:      continue  
  4.     ...:  print i  
  5.     ...:  
  6. 6  
  7. 4  

在循环的过程,如果 i为奇数(即除 2的余数不为 0),continue后面的 print语句会被跳过,直接循环下一个i;如果 i为偶数,continue语句不会被执行,因此会打印出相应的结果。

在执行某次循环时,如果遇到 break,不管循环条件是否满足,也不管序列是否已经被遍历完毕,程序都会从这个地方停止,并跳出循环。

例如,在遍历列表时,当列表中有大于 10的值时,停止循环:

  1. In [26]: for i in values:  
  2.     ...: if i > 10:  
  3.     ...:     break  
  4.     ...: print i  
  5.     ...: 7 6 4 7 

在循环的过程中,如果 i大于 10,break语句被执行。

除了 for循环,continue和 break语句也可以在 while循环使用。循环和判断都可以多层嵌套,即判断中可以有新的判断或循环,循环中可以有新的循环,对于 continue和break语句来说,它们只对当前的循环有效,对更外层的循环不起作用。

5.循环中的 else语句

hile循环和 for循环的后面可以跟 else语句,这种 else语句要和关键字 break一起连用。循环后的else语句在break没被触发时执行。

例如,我们在上面的例子中加入 else语句:

  1. In [27]: for i in values:  
  2.     ...: if i > 10:  
  3.     ...:     print i  
  4.     ...:     break  
  5.     ...: else:  
  6.     ...: print "All value <= 10"  
  7.     ...: 19 

当 break没有被执行时,else语句被执行:

  1. In [28]: values = [7, 6, 4, 7]  
  2. 66  
  3. In [29]: for i in values:  
  4.     ...: if i > 10:  
  5.     ...:     print i  
  6.     ...:     break  
  7.     ...: else:  
  8.     ...: print "All value <= 10"  
  9.     ...: All value <= 10 

6.列表推导式

假设我们要得到一组数的平方,一个简单的想法是使用循环实现:

  1. In [30]: values = [10, 21, 4, 7, 12]   
  2. In [31]: squares = []   
  3. In [32]: for i in values:  
  4.  
  5.     ...:  squares.append(x ** 2)  
  6.     ...: In [33]: squares Out[33]: [100, 441, 16, 49, 144] 

Python提供了列表推导式(List Comprehension)的机制,使用更简单的方式来创建这个列表:

  1. In [34]: [x ** 2 for x in values] Out[34]: [100, 441, 16, 49, 144] 

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

51CTO读书频道二维码


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

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

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

读 书 +更多

PHP程序开发范例宝典

本书全面介绍了应用PHP进行网站开发的各种技术和技巧。全书分为20章,内容包括PHP的运行环境配置、表单及表单元素的应用、CSS与JavaScript...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊