1、while
-
while进行循环控制,它对表达式进行测试,如果为真,则循环执行循环体。格式如下:
while EXPRESSION:
STATEMENT
else:
STATEMENT
如果测试为假,则会执行else块。如果循环被中断(break),则else块不会执行
-
#coding:utf-8
-
#!/usr/bin/python
-
# Filename: string.py
-
-
i=10
-
while i>0:
-
i=i-1
-
print i
-
else:
-
print "i 已经为0了 i=",i
-
-
j=10
-
while j>0:
-
j=j/2
-
if j==2:
-
break
-
print "j=",j
-
else:
-
print "已经break了,这句不执行"
-
-
9
-
8
-
7
-
6
-
5
-
4
-
3
-
2
-
1
-
0
-
i 已经为0了 i= 0
-
j= 5
2、for
-
for循环可遍历对象,并可进行迭代操作。语名格式如下:
for TARGET in OBJECTS:
STATEMENT
else:
STATEMENT
和while一样,在循环正常退出时,会执行else块。
-
#coding:utf-8
-
#!/usr/bin/python
-
# Filename: for.py
-
-
mystr="statment"
-
for word in mystr:
-
print word
-
else:
-
print "End list"
-
#range会直接生成一个list对象
-
alist=range(0,100)
-
for i in alist:
-
if i==99:
-
print i
-
#而xrange则不会直接生成一个list,而是每次调用返回其中的一个值
-
for j in xrange(0,100,2):
-
if j==99:
-
print j
-
print "alist 的长度: ",len(alist)
-
for k in xrange(len(alist),-1,-1):
-
if k==0 or k==100:
-
print "k:",k
-
-
-
s
-
t
-
a
-
t
-
m
-
e
-
n
-
t
-
End list
-
99
-
alist 的长度: 100
-
k: 100
-
k: 0
注意:
要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用:
-
for i in range(0, 100):
-
print i
-
for i in xrange(0, 100):
-
print i
range会直接生成一个list对象:
-
a = range(0,100)
-
print type(a)
-
'list'>
而xrange则不会直接生成一个list,而是每次调用返回其中的一个值:
-
a = xrange(0,100)
-
print type(a)
-
'xrange'
所以xrange做循环的性能比range好,尤其是返回很大的时候,尽量用xrange吧,除非你是要返回一个列表。
阅读(1204) | 评论(0) | 转发(1) |