控制语句2

1148-张同学

发表文章数:63

热门标签

,
首页 » Python » 正文

之前已学习了循环结构中的while(),下边将学习for循环。

for循环

常用语可迭代对象的遍历
语法形式:
for 变量 in 可迭代对象:
 循环体语句

其中可迭代对象可以为:

  1. 序列:字符串、列表、元组
  2. 字典
  3. 迭代器对象,如range() 产生指定范围的数字序列,一般格式为range(start,end,[step])
  4. 生成器函数
// for循环
sum_all=0
sum_odd=0
sum_even=0
for x in range(101):
    sum_all+=x
    if x%2==1:
        sum_odd+=x
    else:
        sum_even+=x
print("1-100累加总和{0},奇数和{1},偶素和{2}".format(sum_all,sum_odd,sum_even))

控制语句2

嵌套循环

一个循环体内可以嵌入另一个循环,一般称为“嵌套循环”或者“多重嵌套”

九九乘法表
// An highlighted block
for i in range(1,10):
    for j in range(1, i+1):
        print("{0}*{1}={2}".format(i,j,i*j),end="/t")
    print()

控制语句2

break、continue、else的运用

break、continue

break 在循环中,用来结束整个循环;如果循环中存在嵌套,则结束最近一层的循环。
continue在循环中,用来结束本次循环,进行下一次循环;如果循环中存在嵌套,则应用于最近一层的循环。

// 
#正常运行的嵌套循环
a=0
b=0
for i in range(10):
    for j in range(10):
        a+=1
    print(a,end="/t")
    b+=1
print(b)
#使用break
a=0
b=0
for i in range(10):
    for j in range(10):
        a+=1
        break    #结束了内层的循环,a只进行了一次a=a+1
    print(a,end="/t")
    b+=1    #break不影响外层的循环,b可以进行10次b=b+1
print(b)
#使用continue
a=0
b=0
for i in range(10):
    for j in range(10):
        continue     #结束了内层的循环,执行不到a=a+1就进行了下一次的循环,因此得到的a为0
        a+=1
    print(a,end="/t")
    b+=1    #continue不影响外层的循环,因此b可以执行10次b=b+1
print(b)

控制语句2

else

python中的while和for循环还可以实现else语句
语法形式:

while 条件表达式:
 循环体
else:
 语句块

 
for 变量 in 可迭代对象:
 循环体
else:
 语句块

// for和while中else用法相同
for a in range(5):
    a+=1
    print(a, end="/t")     #当范围内的循环可以执行完,则可以执行else后的语句
else:
    print("1-5数字的遍历")

for a in range(5):
    if a>3:
        break
    else:
        a+=1
    print(a, end="/t")     #当范围内的循环不能执行完,则不会执行else后的语句
else:
    print("1-5数字的遍历")

控制语句2

推导式创建序列

推导式是从一个或多个迭代器快速创建序列的一种方式,它可以将循环和条件相结合,从而避免冗长的代码,推导式是典型的python风格。

列表推导式

列表推导式生成列表对象,语法如下:
[表达式 for item in 可迭代对象]
或 [表达式 for item in 可迭代对象 if 条件判断]

// An highlighted block
print([x for x in range(21) if x%5==0])   #在0-21之间可以被5整除的

控制语句2

字典推导式

字典推导式生成列字典对象,语法如下:

{key_expression:value_expression for 表达式 in 可迭代对象}

与列表推导式相似,也可以实现for、if。

// An highlighted block
#使用字典推导式创建字典对象,并对字符进行统计
my_text="i love one, i love two, i love three"
char_count={c:my_text.count(c) for c in my_text}
print(char_count)
#使用普通循环实现字典推导式并对字符进行统计
my_text="i love one, i love two, i love three"
a={}
for c in my_text:
    char_count={c:my_text.count(c)} 
    #update对每次循环得到的字符统计进行更新处理,得到最终的统计结果(它的使用方式和原理在“python的第四天(字典和集合)”可以查询到)
    a.update(char_count)    
print(a)

控制语句2

集合推导式

集合推导式生成列集合对象,语法如下:

[表达式 for item in 可迭代对象]
或 [表达式 for item in 可迭代对象 if 条件判断]

与列表推导式相似,也可以实现for、if。

// An highlighted block
print({x for x in range(1,100) if x%9==0})

控制语句2

生成器推导式(产生元组)

一个生成器只能运行一次,第一次迭代得到数据对象,第二次迭代后数据就没有了。

// An highlighted block
gnt=(x for x in range(1,4))
for x in gnt:
    print(x,end=' ')    #第一次迭代产生了数组
for x in gnt:
    print(x,end=' ')    #第二次迭代后就没有了

控制语句2

标签:

未经允许不得转载:作者:1148-张同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《控制语句2》 发布于2020-06-23

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录