控制语句(4)

第4章 控制语句

if<条件1>:
   <语句1>
elif<条件2>:
   <语句2>
elif<条件3>:
   <语句3>
......
else:
   <语句n>
说明:elif语句,只要有一个条件成立,就会将其后的一个部分语句执行后推出整个if语句

if三元运算符
<表达式1> if <条件> else <表达式2>

a=None
b=3
x=b if a is not None else 0   #x 的值为 0

if语句嵌套
if<条件>:
    if<条件>:
        <语句1>
    else<条件>:
        <语句2>
else:
   <语句3>

for循环执行语句,else中的<语句2>只有在循环正常退出时执行
for <循环变量> in <遍历对象>:
    <语句1>
else:
    <语句2>

break和continue
例:
for i in [1,2,3,4,5]:
    print(i)
    if i==2:
        continue
    print(i,"的平方是:",i*i)
    if i==4
        break
else:
    print('循环结束!')
》》》
1
1的平方是:1
2
3
3的平方是:9
4
4的平方是:16

for语句与range()函数
for i in range(4)

range([start,] stop[,step])
start默认为0

for 语句使用range函数可以构建基于循环次数的循环程序,也可以义range()生成的数字作为索引来访问列表、元组、字符串中的值,还可以对遍历的序列实行处理,得到相关的数据

for语句与内置迭代函数(seq为序列)
enumerate(seq)  编号迭代   for i,item in enumerate('abcd'): print('第%d个字符是:%s'%(i,item))
sorted(seq)     排序迭代   for i in sorted([3,1,6,0])
reversed(seq)   翻转迭代
zip(seq1,seq2,....)   并行迭代  for i,j,k in zip(lsta,lstb,lstc):print('%d:%d:%d'%(i,j,k))  只遍历到最短的序列长度

while循环:Python中while循环不如for循环简单明了,因此主要用在构建不确定运行次数的循环,一般情况下,遍历序列都采用for语句

增量赋值运算符
+=,-=,*=,/=,//=,**=,%=,&=。。。。。。。

推导:对序列或一系列的元素进行处理,处理结果仍被放到一个列表、字典等序列之中
基本形式:[<i相关表达式> for i in aiterator]    #在for语句前加了对循环变量处理的表达式,最外层使用序列符号
[i**i for i in range(1,11)]   #获得1~10的平方数存入列表之中
{k:v for k,v in zip(keys,values)}  #使用并行迭代将两个列表组成字典

推导进阶:
使用if语句实现有选择地处理遍历序列中的元素
[i**i for i in range(1,11) if i**i%2==1]

posted @ 2016-07-26 16:29  魔沫  阅读(220)  评论(0编辑  收藏  举报