文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>python(16): 循环语句while和for(第10章)

python(16): 循环语句while和for(第10章)

时间:2006-02-28  来源:newsim

像其他绝大多数语言一样,python中的循环语句也是两种while语句和for语句。与c中循环语句的不同有两点:
  1. 有一个else从句
  2. 不能在while的真值判断表达式中同时进行赋值操作
先来看while语句:
  1. while <true or false>:
  2.     ...
  3. else:
  4.     ...
上面说的第一点不同是指在<true or false>中,不能写成比如这样的表达式:"while x =  next", 因为在python中,一个赋值语句并不返回一个值,只是赋值,这与c中不一样。else从句是在while循环结束后执行的,看起来好像是多此一举,因为即使没有else从句,后面的语句也会在while循环结束后执行,其实不然。如果在while的循环体内有break语句,情况就不一样的。因为break语句是用来跳过整个循环,碰到break语句后,else从句中的内容也不会执行。

for语句:
  1. for x in seq:
  2.     ...
  3. else:
  4.     ...
for语句是一种更加高级的循环语句,其实for语句完全可以用while语句来代替,只不过是比较麻烦而已。在for语句中,有一个隐式的赋值过程,比如上面的语句,x会被依次赋予seq[0] seq[1]...等值。在python中,应该尽量使用for循环,因为for比while运行得比较快。

与循环搭配使用的除了break外还有continue,与break跳过整个循环语句不同,continue只是表示马上跳回循环体的开头,进行下一次循环。此外,range()、zip()、map()函数也常常与循环语句配合使用。zip()前面介绍过。map()与zip()非常相似,唯一的不同是,map(function, seq1, seq2...),它也返回一个list,是把seq1 seq2...各个成员应用于functions中,以function返回的值作为成员构建一个list,如果function为None,那么就是直接返回seq1和seq2...中值。比如:
L = [1,2]
S = [3,4,5]
map(None, L, S) ==> [(1,3), (2,4), (None,5)]

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载