1.for...in循环:

有两个使用场景:

场景一:for in和range对象配合使用

range对象的引入讲解

格式:range([start,end,step]):

特点:索引满足含头不含尾的特点-->闭开区间

以上三个参数:start、end、step的含义和str切片一样理解

惰性序列对象:

将多个数据存入到容器对象中,直接通过print()函数打印其变量名,看到的数据内部信息不明确;
案例一:
r=range(1,11)
#r=range(11) # range对象可以理解为惰性序列对象(直接打印变量名看不清里面具体内容)
print(r,type(r),len(r))
range对象配合for in循环使用:

遍历的思想:
遍历:经过、经历、从头到尾走一遍
for i in r:
print(i,end=' ') print() for i in range(0,10,2):
print(i,end=' ') print()

range为惰性序列对象,那么我们可以将其转换为非惰性序列对象!!

例如:
将range(1,6)对象转换为list对象
代码如下:
lt = list(range(1,6))
print(lt,type(lt),len(lt)) #遍历lt对象
for j in lt:
print(j)

场景二:for in和容器对象(str、list、tuple、set、dict)配合使用
方式一:通过键找到值
for k in dic:

print(k + '-->' + str(dic.get(k)))
方式二:直接先得到一个dict_items对象(此对象中有key和value并且存入到一个元祖中保存,对象每个元素都是元祖)
its = dic.items()

print(its,type(its),len(its))

for k,v in dic.items():

print(k,v)
总结:for in循环也可以和break&continue,以及else语句一起配合使用

案例二:
演示for in 和容器对象(str,list,tuple,set,dict)配合使用
lt=['aa','bb','cc','dd']
案例体会:
for...in循环中没有使用索引的思想,而while循环中一般会用到索引去访问容器中的元素内容
#遍历lt对象,打印内容到控制台
for i in lt:
print(i)
i+='r'
print(lt)
print() lt1=['aa','bb','cc','dd']
i=0
while i<len(lt1):
# print(lt[i])
lt1[i] += 'r'
i+=1
print(lt1)
print() str1='abcdefg1234567'
for i in str1:
print(i,end=' ')
print()
使用for in或者while循环遍历dic对象,打印键值对的内容
dic={'name':'abc','age':25,'sex':'男'}
#方式一:通过键找到值
for k in dic:
print(k+'--->'+str(dic.get(k)))
方式二:直接先得到一个dict_items对象
(此对象中有key和value并且存入到一个元祖中保存,
对象每个元素都是元祖)
its=dic.items()
print(its,type(its),len(its)) for k,v in dic.items():
print(k,v)
案例三:
演示for in循环配合break&continue和else语句配合使用
需求:遍历1~100的偶数,打印个数和总和-->使用for in实现
count=0
sum1=0
for i in range(1,101):
if i%2 ==1:
continue
count+=1
sum1+=i
# print(i)
# print('偶数的个数为:%d' %count)
# print('偶数的总和为:%d' %sum1) for i in range(1,11):
if i==4:
# break
continue
print(i)
else:
print('如果没有碰到牛逼的break,我就会被执行...')

python第十二课——for in循环的更多相关文章

  1. python六十二课——高阶函数之filter

    高阶函数之:filter函数:过滤数据的,最终返回一个惰性序列对象(filter对象,迭代器对象)解释:filter的意思:在计算机领域中我们都称为过滤器格式:filter(fn,lsd):参数和ma ...

  2. python第二十二课——list函数

    演示list类型中常用的一些函数: 1.append(obj):将obj元素追加到列表的末尾 lt=['路费','佐罗','山治','乔巴','乌索普','纳米桑'] #append(): lt.ap ...

  3. Kali Linux Web 渗透测试— 第十二课-websploit

    Kali Linux Web 渗透测试— 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试— 第十二课-websploit..................... ...

  4. NeHe OpenGL教程 第四十二课:多重视口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. NeHe OpenGL教程 第二十二课:凹凸映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. NeHe OpenGL教程 第十二课:显示列表

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. Linux Shell系列教程之(十二)Shell until循环

    本文是Linux Shell系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell系列教程 在上两篇文章Linux Shell系列教程之(十)Shell for循环和Lin ...

  9. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

随机推荐

  1. ADO五大对象(转载)

    来源:http://blog.csdn.net/u013201439/article/details/51111969 ADO五大对象(转载) 一.绪论 1.引言 在数据库应用系统中,必定要涉及到对数 ...

  2. MyEclipse在不同编辑面间快速切换

    想在下面的编辑页面间切换有两种方式,一种是按“栈”方式切换,一种是按“链表”方式切换. 按栈方式切换: Alt + 左箭头: 上一次编辑页面 Alter + 右箭头 : 下一个编辑也页面 按链表(绝对 ...

  3. Hibernate中一级缓存概念以及flush与clear的区别

    Hibernate采用缓存机制提高数据查询效率.缓存分为一级缓存和二级缓存,一级缓存在Session中存在,二级缓存需要手动配置. 在一级缓存中,如果数据保存到数据库中后,而session又没有关闭的 ...

  4. Tomcat配置JVM参数步骤

    这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的JDK ...

  5. 山东第四届省赛: Boring Counting 线段树

    http://acm.sdibt.edu.cn/JudgeOnline/problem.php?id=3237 Problem H:Boring Counting Time Limit: 3 Sec  ...

  6. win8.1 pro-64位下安装配置MinGW—64位

    1.下载MinGW-w64位:http://mingw-w64.org/doku.php 点击Downloads 说明:这边使用的是在线安装方式: 在网站里可以看到他安装后的文件夹: 2.安装 运行m ...

  7. Java8简明学习之Lambda表达式

    函数式接口 就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口,函数式接口可以被隐式转换为lambda表达式. 之前已有的函数式接口: java.lang.Runnable java.uti ...

  8. [js样式效果]具有停顿效果上下滚动方式

    一般用于公告的滚动效果 <!DOCTYPE HTML> <html> <head> <meta charset="gb2312" /> ...

  9. BZOJ4337: BJOI2015 树的同构(hash 树同构)

    题意 题目链接 Sol 树的同构问题,直接拿hash判一下,具体流程大概是这样的: 首先转化为有根树,预处理出第\(i\)棵树以\(j\)为根时的hash值. 那么两个树同构当且仅当把两棵树的hash ...

  10. 那些年我们对npm 和 cnpm 的误区

    1. npm 和 cnpm 的区别 相信很多人都不太明白 npm 和 cnpm 到底是什么东东, 为啥在国内要用 淘宝镜像使用 cnpm, (1) 两者之间只是 node 中包管理器的不同哟, (2) ...