本文适合阅读对象:已学完Python基础课程,并能熟练使用Python基本用法编程。如果还有一些其他语言的基础最好不过了,如果没有Python基础或者正在学习中,请点击以下链接:

Python基础教程

一、如何编写Python-ful 循环

对于之前学过C语言或Java语言,开始学习Python后,写出来的代码可能是这样的,充满C或Java的风格:

items=['a','b','c']

i = 0

while i < len(items):

   print(items[i])

   i+=1

结果如下:

这段代码没毛病,执行正常,就是非常没有Python特色,而是C或Java充满的韵味~为什么这么说呢,主要有两点:

代码中手动跟踪了索引i,先初始化为零,然后在每次循环迭代时仔细递增索引。

为了确定迭代次数,使用len()获取items容器的大小。

如何写出Python特色的代码呢?微微老师专门起了个名字,叫做Python-ful的代码。

下面来重构第一个代码示例,Python其实无需手动更新索引,可以自动进行,在Python中可以用for循环很好地做到这一点,做法是利用内置的range()自动生成索引:

items=['a','b','c']

for i in range(len(items)):

   print(items[i])

结果如下:

大家看出来了吗,已经比之前好一点,代码也精简了,但仍然不是很有Python特色,感觉依然有点像一个Java风格的迭代代码。为什么这么说呢?因为Python容器的遍历方式非常之简洁,在Python中,for循环实际上for-each循环,可以直接在容器或序列中迭代元素,无需索引查找,直接这样写就可以了:

完美实现!是不是有些被震撼到的感觉?!Python坚持极简主义理念,这个解决方案很有Python特色,非常整洁,看上去就像在阅读编程教科书中的伪代码一样。

注意:循环中不再跟踪容器的大小,也不必使用运行时索引来访问元素。现在容器本身负责分发将要处理的元素,如果容器是有序的,那么所得到的元素序列也是有序的;如果容器是无序的,那么将以随机顺序返回其元素,但循环仍然会遍历所有元素。

2.使用enumerate()升级循环

如果循环的结果需要用到项的索引,该怎么办呢?可以使用Python内置的enumerate()函数,这是Python很神奇的特性,可以让循环持有并返回当前运行的索引,大家一起来看看:

items=['a','b','c']

for i, item in enumerate(items):

    print(f'{i}:{item}')

结果如下:

3. 循环同时获取字典的键和值

如果使用字典时需要同时循环迭代获取字典的键和值,该怎么办呢?for循环同样没有问题,只需同时写两个索引标志即可,一个代表键,一个代表值。

emails={'a':'s@sina.com',

'b':'h@163.com',

'c':'m@qq.com'}

for i, j in emails.items():

    print(f'{i}:{j}')

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月28日

referrer策略和meta标签的问题

referrer策略和meta标签的问题请求后端接口时,banner图片的请求出现403错误:GEThttp://xxxxxxxxxxxx403(Forbidden)。在网上搜寻一番,解决方法如下:在index.html中的head中添加&lt;meta name=&quot;referrer&quot; content=&quot;no-referrer&quot; /&gt;。在此之前,关于r

热门专题

天麻的功效与作用吃法|天麻的功效与作用,天麻的功效与作用吃法,天麻炖什么治头痛最好,天麻的功效与作用禁忌,天麻多少钱一斤,天麻的功效与作用吃法及禁忌,天麻怎么吃效果最好,天麻粉的功效与作用,天麻怎么吃
天麻的功效与作用吃法
安徽中源管业|安徽中源管业,安徽中源管业mpp电力管,安徽中源管业cpvc电力管,安徽中源管业pe穿线管,安徽中源管业电力管,安徽中源管业排水管,安徽中源管业通信管,安徽中源管业管材
安徽中源管业
云南高职单招|云南单招,云南单招网,云南高职单招网,云南高职单招,云南单招学校,云南单招培训
云南高职单招
昆明综合高中|昆明综合高中
昆明综合高中
云南综合高中|云南综合高中
云南综合高中
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
安徽中源管业有限公司|安徽中源管业有限公司,安徽中源管业有限公司介绍,安徽中源管业有限公司电话,安徽中源管业有限公司地址,安徽中源管业有限公司厂家,安徽中源管业有限公司电力管,安徽中源管业有限公司管材
安徽中源管业有限公司
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部