python学习之语句:循环语句(for,while)

while循环:

python中的while循环其实跟其他语言中的没有什么大的差距,都是以:

while (判断条件):

语句块

当判断条件为True的时候执行语句块,当为False的时候跳出循环

>>> i=0
>>> while i<2:
	i+=1
	print i
	
1
2
while还有一种用法:

>>> i=0
>>> while True:
	i+=1
	print i
	if i>1: break
	
1
2
当然,不推荐使用,太多的break关键字会使代码的可读性降低


for循环:

python中的for循环跟我们熟知的静态语言的for循环就有一定的差距了,简单的一句话概括就是python的循环是对列表、元组、字典等的实际序列的循环,没有了类似于java的三个表达式判断条件

>>> words=[1,2,3,4,5]
>>> for word in words:
	print word
	
1
2
3
4
5

迭代某个数字范围:range函数

>>> range(0,9)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
xrange和range的区别:range一次性创建整个序列,而xrange一次只创建一个数字,所以在循环次数较大的时候请使用xrange,当然python3之后range的实现方法跟xrange是一样的


遍历字典:

>>> d={'x':1,'y':2,'z':3}
>>> for key in d:
	print key , 'is to' , d[key]
	
y is to 2
x is to 1
z is to 3

一些迭代工具:

并行迭代:

并行迭代就是同时遍历两个序列,而zip函数可以将两个序列“压缩”成一个元组:

>>> name=['loutc','lzmtc','loutc1']
>>> ages=[12,13,14,15,16]
>>> zip(name,ages)
[('loutc', 12), ('lzmtc', 13), ('loutc1', 14)]
>>> for nam,age in zip(name,ages):
	print nam,'is',age,'years old'

loutc is 12 years old
lzmtc is 13 years old
loutc1 is 14 years old
如你所见,zip函数会自动匹配两个序列的长度


enumerate函数:可以迭代序列的索引值

>>> for index,nam in enumerate(name):
	print index , 'is' , nam
	
0 is loutc
1 is lzmtc
2 is loutc1

列表推导式:利用其它列表创建新列表

>>> [x*x for x in range(1,10)]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
同样在for中可以加上if判断:

>>> [x*x for x in range(1,50) if x%3==0]
[9, 36, 81, 144, 225, 324, 441, 576, 729, 900, 1089, 1296, 1521, 1764, 2025, 2304]

也可以增加迭代的数量:

>>> [(x,y) for x in range(1,3) for y in range(2,5)]
[(1, 2), (1, 3), (1, 4), (2, 2), (2, 3), (2, 4)]

不得不多言一句,python的for循环的简便性充分的展示了python语言的魅力,如此灵活的语法规则,怎叫人不动心~好了,主要的语句分析完毕了,接下去我会整理一下python中字符串的一些用法,不管在哪个语言中,字符串都是占很重的比例的,让我们看看python又是如何想我体现他在字符串上的魅力










  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值