Python循环语句中whlie和for的应用

开发 后端
Python循环语句的应用范围很广,我们需要不断的进行相关语句的学习。下面就向大家再次介绍下Python循环语句以便大家复习一下。

Python循环语句是很多程序员必须掌握的一项技能,虽然有点老掉牙的话题,但是还需要大家不断的进行巩固。dict用一种更优雅的方式模拟了switch选择,集合lambda函数,还可以进一步实现更加复杂的逻辑分支语句。关于lambda函数的使用,我们到下一章再学习。

Python循环语句

Python循环语句支持两种循环语句——while循环和for循环,不支持C#中的do-while循环。Python的while循环和C#基本一致,此处我们着重比较两种语言中for循环的区别。

说的简单一点,Python循环语句中的for语句相当于C#中的foreach语句,它常用于从集合对象(list、str、tuple等)中遍历数据。例如:

  1. for i in [1,2,3,4,5]:  
  2. print i 


这与C#中的foreach语法基本是一样的,下边是C#中的对应代码:

  1. IEnumerable<int> numbers = Enumerable.Range(0, 5);  
  2. foreach( int i in numbers)  
  3. Console.WriteLine(i);  

如何实现类似C#中for(int i = 0; i < 10; i++)这种for循环呢?答案是使用range或xrange对象,见下边的代码:

  1. # range(10)也可以用xrange(10)代替  
  2. for i in range(10):  
  3. print i#等价于以下C#语句  
  4. #for(int i = 0; i<10;i++)  
  5. # Console.WriteLine(i); 

内建函数range([i,]j[,stride])建立一个整数列表,列表内容为k(i <= k < j)。第一个参数i和第三个参数stride是可选的,默认值分别为 0 和 1。内建函数xrange([i,]j[,stride])与 range 有相似之处,但xrange返回的是一个不可改变的XRangeType对象。这是一个迭代器,也就是只有用到那个数时才临时通过计算提供值。当 j 值很大时,xrange能更有效地利用内存。#t#

Python循环语句中的while和for循环中支持break和continue语句。break语句用于立刻中止循环,continue语句用于直接进入下一次循环(忽略当前循环的剩余语句)。break和continue语句在C#与Python中的用法是一致的,只用于语句所在的当前循环。如果需要退出一个多重循环,应该使用异常,因为Python中没有提供goto语句。

最后,Python中的循环还支持else语句,它只在循环正常完成后运行(for和while循环),或者在循环条件不成立时立即运行(仅while循环),或者迭代序列为空时立即执行(仅for循环)。如果Python循环语句使用break语句退出的话,else语句将被忽略。

 

责任编辑:张浩
相关推荐

2010-03-19 14:18:07

Java Socket

2010-09-03 14:39:15

SQLSELECT语句

2010-09-03 15:47:40

SQL语句锁定

2010-05-10 18:38:08

Oracle分页语句

2010-09-03 14:47:50

SQLSELECT语句

2010-09-03 11:25:58

SQL删除

2010-09-07 16:38:36

SQL语句SELECT DIST

2010-09-07 13:41:50

SQL语句

2018-06-07 09:45:08

2021-02-25 09:35:32

语句elsePython

2010-11-25 15:57:49

mysql查询语句

2010-09-08 17:10:24

SQL循环语句

2021-08-11 09:00:30

Python基础循环

2010-04-13 14:43:37

Oracle性能检测

2010-06-11 17:36:46

MySQL语句

2010-09-07 14:56:49

SQL语句CASE WHEN

2010-09-07 10:19:31

SQL语句

2010-05-21 16:55:47

MySQL EXPLA

2023-09-26 22:26:15

Python代码

2010-09-06 09:11:24

SQLUPDATE语句
点赞
收藏

51CTO技术栈公众号