一、Python for in循环

Python for in 循环,是用来遍历任何数据序列,如一个列表,一个字符串,一个字典,一个元组等。

for in 循环的一般语法如下:

 for  item in 序列:语句块else:语句块

for in 字符串:把每个字符循环出来

 '''字符串:把每个字符循环出来'''str1 = '老树Python''''把字符串str1元素进行循环,每循环出一个元素,就把该元素赋值给item'''for item in str1:print(item)运行结果:老树Python​

for in 列表:把列表中每个元素循环出来

 '''for in 列表'''list1 = ['Python','Java','PHP','C#']​''' 循环list1中的每个元素,然后循环到的元素赋值给item'''for item in list1:           print(item)运行结果:PythonJavaPHPC#​

for in 字典:把字典中每对键值循环出来

我们在第十章学习字典时,知道可以通过dict.keys()和dict.values()求得字典的所有key和value.

那么我们可以通过把dict.keys()循环出单个key,然后通过dict['key']来求得key,value对应的值

同时,我们直接 for in dict 循环出来的也是key

 '''for in 字典:遍历key值'''​dict1 = {'Lim':'98','Tom':'99','Jim':'89'}print('所有keys:',dict1.keys())print('for in dict1.keys()')for key in dict1.keys():print(key + ':' + dict1[key])​print('直接for in dict1')for key in dict1:print(key + ':' + dict1[key])运行结果:所有keys: dict_keys(['Lim', 'Tom', 'Jim'])for in dict1.keys()Lim:98Tom:99Jim:89直接for in dict1Lim:98Tom:99Jim:89

可以看出上述两个for in 循环运行的结果一致

 '''for in 字典:遍历value'''dict1 = {'Lim': '98', 'Tom': '99', 'Jim': '89'}print('所有values:', dict1.values())​for value in dict1.values():print(value)​运行结果:989989

遍历字典键值key,value项

 '''for in 字典:遍历value'''dict1 = {'Lim': '98', 'Tom': '99', 'Jim': '89'}print('dict1.items是:',dict1.items())for kv in dict1.items():           #dict1.items()print(kv)

运行结果:

 dict1.items是: dict_items([('Lim', '98'), ('Tom', '99'), ('Jim', '89')])('Lim', '98')('Tom', '99')('Jim', '89')

遍历字典键值

 '''for in 字典:遍历key,value'''dict1 = {'Lim': '98', 'Tom': '99', 'Jim': '89'}​for key,value in dict1.items():  # dict1.items()print(key + ':' + value)print('上下两个方法效果是一样的')for (key,value) in dict1.items():print(key + ':' + value)​

运行的结果:

 Lim:98Tom:99Jim:89上下两个方法效果是一样的Lim:98Tom:99Jim:89

二、range()函数

range()函数为python内置函数,用于生成一系列的连续的整数,其语法格式为:

 range(start,end,step)

注:start指的是计数起始值,默认为0;end指的是计数结束值,但不包括end; step是步长,默认为1,不可以为0.

range()方法生成一段左闭右开的整数范围。

在使用range()函数时,

如果只有一个参数,就表示end,从0开始;

如果有两个参数,就表示start和end.

如果有三个参数,最后一个就表示步长。

它接收的参数必须是整数,可以是负数,但不能是浮点数或其它类型。

range()是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素。

 rg = range(1,8)print(rg)print(rg[0])print(rg[1:4])print(rg[:-3])

运行结果:

 range(1, 8)1range(2, 5)range(1, 5)rg = range(1,8)rg[2]=2                    

运行结果:

  rg[2]=2TypeError: 'range' object does not support item assignment

可以看出不支持修改

它会生成数列,这样我们就会可以来遍历数字序列。

 for num in range(6):print(num)运行结果:012345

step为-5

 rg = range(-15,-35,-5)for num in rg:print(num)

运行结果:

 -15-20-25-30

这述这个例子中,大家可以试着把-15改成-65看看运行结果。然后继续再把-5改成5看看运行结果。当看明白改动后的变化,你就明白了,start,end谁大谁小,以及step是正数不是负数。

我们刚才print(range(1,8)),打印出来的结果是: range(1,8),而不是列表类型。

我们可以用list(range(1,8))直接把range()变为list类型

 rg = range(1,8)print(rg)print(list(rg))

运行的结果:

 range(1, 8)[1, 2, 3, 4, 5, 6, 7]

结束语:

这一篇我们学习了for in 循环字符串,列表,字典等。重点在循环字典时,如何取得key,value值等。

同时我们对Python内置函数range()进行了了解。这个函数将在以后的项目中使用得比较多。


原创不易,喜欢就给个赞,点个关注吧!

更多的内容可以关注公众号:老树Python

推荐阅读:

老树Python:一步一步学Python3(小学生也适用) 第十六篇:循环语句While循环​zhuanlan.zhihu.com

老树Python:一步一步学Python3(小学生也适用) 第十五篇:条件判断​zhuanlan.zhihu.com

老树Python:一步一步学Python3(小学生也适用) 第十四篇: 集合Set类型​zhuanlan.zhihu.com

老树Python:一步一步学Python3(小学生也适用) 第十三篇: 字典Dict类型​zhuanlan.zhihu.com

老树Python:一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型​zhuanlan.zhihu.com

python3循环一直到一个值结束_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环...相关推荐

  1. list循环赋值_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环

    一.Python for in循环 Python for in 循环,是用来遍历任何数据序列,如一个列表,一个字符串,一个字典,一个元组等. for in 循环的一般语法如下: for for in ...

  2. map中只有一个值 获取_小学数学,为什么一个三角形中最多只有一个直角或一个钝角...

    小学阶段采用的是将任意一个三角形的三个内角,拼接在一起形成一条直线,根据这个事实得出任意三角形的内角和是180度的结论.到初中学了平行线的特性之后,就可以很严谨地证明这个结论.在小学只需要知道这个结论 ...

  3. python 条件语句实例_详解python 条件语句和while循环的实例代码

    详解python 条件语句和while循环的实例代码,逻辑,布尔,值为,结束,语句 详解python 条件语句和while循环的实例代码 易采站长站,站长之家为您整理了详解python 条件语句和wh ...

  4. python3 循环写入一对多键值对_为什么Python 3.6以后字典有序并且效率更高?

    在Python 3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面. 但是从Python 3.6开始,字典是变成 ...

  5. 不使用loop循环,创建一个长度为100的数组,并且每个元素的值等于它的下标

    ES5版答案: Object.keys(Array.from({ length: 100 })); ES6版答案: Array.from(Array(100).keys()); loop循环: 1.  ...

  6. c++ 一个函数包括多个返回值判断_轻松玩转函数式编程

    最近和一些同学讨论了函数式编程,很多同学总觉得听起来很高大上,但用起来却无从下手.于是我抽时间捋了捋,将平时工作中用到的函数式编程案例和思想整理了出来,相信阅读本文后,大家都能快速上手函数式编程. 函 ...

  7. android 结束if循环_(第五讲)if 分支语句和 while 循环

    本文首发于微信公众号「烽哥带你学Android」,工作日每日更新 1x0 switch 分支语句 昨天我们最后学习了分支结构中的 if 条件语句.其实和 if 条件语句还有个兄弟 -- switch ...

  8. .net 遍历数组找重复值写入一个新数组_面试 | 数组类算法精析

    点击上方蓝字设为星标 每周一.三.五上午 8:30 准时推送 下面开始今天的学习- 面试中的算法问题,有很多并不需要复杂的数据结构支撑.就是用数组,就能考察出很多东西了.其实,经典的排序问题,二分搜索 ...

  9. python回到本次循环开头_Python中,当一个while循环判断为false,结束这个循环的时候,怎么进入到下一个循环中?...

    根据题主对问题的描述,题主需要的答案也许是关于 while 循环结构,Continue 和 Break 的详细解释.了解了循环的控制后,题主便能很清楚地明白自己需要如何控制循环来达到想要的答案了. 先 ...

最新文章

  1. 【ASP.NET 问题】Win7中IIS被防火墙阻止导致外网无法访问的解决方法。
  2. python测试代理IP地址
  3. value proposition canvas
  4. 传苹果新iPhone显示屏4英寸 可视面积扩大30%
  5. 计算机网络课程设计之简单 Web Server 程序的设计与实现
  6. TreeView控件 1202
  7. 钢材规格解读的软件_钢材重量计算软件
  8. MATLAB 创建function函数,主程序打不开function函数所在的.m文件怎么办?
  9. java el if_EL 表达式中条件运算符用于执行某种条件判断,它类似于 Java 语言中的 if-else 语句 。 ( )_学小易找答案...
  10. 如何玩转OA系统业务审批流程
  11. 太原市山大附中2021年高考成绩查询,2021年太原高考状元名单公布,太原高考状元学校资料及最高分...
  12. java游戏源码合集,已整理成文档
  13. 炫酷的生日快乐网页 【附带源码】
  14. hutool生成二维码
  15. Mac安装brew,国内推荐使用
  16. 人工智能的窘境:对话系统
  17. lambda正序 倒序 根据自定义大写一二三数组排序
  18. 惠普服务器开机系统密码,惠普(hp)各型号打印机冷复位,清零,回复出厂设置方法 以及 服务菜单(service menu)密码...
  19. 机器学习系列思维导图
  20. 推特一名股东起诉马斯克,要求法庭强制完成收购交易

热门文章

  1. centos6.5和centos7.5统一字符集为zh_CN.UTF-8解决系统和MySQL数据库乱码问题
  2. poj3264Balanced Lineup(倍增ST表)
  3. egret3D与2D混合开发,画布尺寸不一致的问题
  4. LeetCode Permutations
  5. 浅析 NodeJs 的几种文件路径
  6. Android Monkey压力测试
  7. SylixOS中select原理及使用分析
  8. Junit4常用注解
  9. win10大文件无法移动到U盘
  10. ListView中加入Button后,Button的点击事件和ListView的点击事件冲突