您现在的位置是:亿华云 > IT科技
快速掌握Python中的循环技术
亿华云2025-10-08 23:24:17【IT科技】1人已围观
简介Python的最基本的循环技术是for语句,它可以遍历任何序列(列表或字符串)中的项目,按照它们在序列中出现的顺序。本文将全面介绍for循环的技术以及实战用法。1. 使用enumerate()循环整个
Python的快速最基本的循环技术是for语句,它可以遍历任何序列(列表或字符串)中的掌握中项目,按照它们在序列中出现的循环顺序。本文将全面介绍for循环的技术技术以及实战用法。
1. 使用enumerate()循环整个序列
当循环遍历一个序列(如列表、快速元组、掌握中范围对象、循环字符串)时,技术可以使用enumerate()函数同时检索位置索引和相应的快速值。
(1) 使用enumerate()遍历列表:
示例1:
使用enumerate()函数遍历列表,掌握中返回一个包含可迭代对象中的循环计数和值的元组。一般情况下,技术计数从0开始。快速
colors=[red,掌握中green,blue] for color in enumerate(colors): print (color) #Output: (0, red) (1, green) (2, blue)示例2:
count从5开始循环迭代器。
colors=[red,循环green,blue] for color in enumerate(colors,5): print (color) Output: (5, red) (6, green) (7, blue)(2) 使用enumerate()循环字符串:
示例:
使用enumerate()函数遍历字符串将返回一个包含可迭代对象的计数和值的元组。一般情况下,计数从0开始。
s=python for i in enumerate(s): print (i) #Output: (0, p) (1, y) (2, t) (3, h) (4, o) (5, n)2. 使用zip()函数循环两个或多个序列
要同时循环两个或多个序列,网站模板可以使用zip()函数对条目进行配对。
(1) 使用zip()循环两个相同长度的序列
示例:
num = [1, 2, 3] colors= [red, blue, green] for i in zip(num, colors): print(i) Output: (1, red) (2, blue) (3, green)(2) 使用zip()循环两个不同长度的序列
如果使用zip()遍历两个长度不同的序列意味着当最短的可迭代对象耗尽时停止。
示例:
colors=[red,green,blue] num=[1,2,3,4,5,6,7,8,9,10] for i in zip(colors,num): print (i) Output: (red, 1) (green, 2) (blue, 3)(3) 使用zip()循环两个或多个序列:
示例:
colors=[red,apple,three] num=[1,2,3] alp=[a,b,c] for i in zip(colors,num,alp): print (i) Output: (red, 1, a) (apple, 2, b) (three, 3, c)3. itertools.zip_longest ()
创建一个从每个可迭代对象中聚合元素的迭代器。如果可迭代对象的长度不均匀,则用fillvalue填充缺失的值。迭代继续,直到最长的可迭代对象耗尽。
使用itertools.zip_longest()循环两个不同长度的序列。
示例1:如果不指定fillvalue,则默认为None。
from itertools import zip_longest colors=[red,apple,three] num=[1,2,3,4,5] for i in zip_longest(colors,num): print (i) Output: (red, 1) (apple, 2) (three, 3) (None, 4) (None, 5)示例2:指定fillvalue。
from itertools import zip_longest colors=[red,apple,three] num=[1,2,3,4,5] for i in zip_longest(colors,num,fillvalue=z): print (i) Output: (red, 1) (apple, 2) (three, 3) (z, 4) (z, 5)4. 使用sorted()函数按已排序的顺序循环序列
sorted():从iterable中的项返回一个新的排序列表。
示例:1使用sorted()函数按排序(升序)遍历序列(list)。
num=[10,5,20,25,30,40,35] for i in sorted(num): print (i) Output: 5 10 20 25 30 35 40示例2:使用sorted()函数按排序(降序)遍历序列(list)。
num=[10,5,20,25,30,40,35] for i in sorted(num,reverse=True): print (i) Output: 40 35 30 25 20 10 5示例3:使用sorted()函数按排序(升序)遍历字典。默认情况下,服务器租用它将对字典中的键进行排序。
d={ f:1,b:4,a:3,e:9,c:2} for i in sorted(d.items()): print (i) #Output: (a, 3) (b, 4) (c, 2) (e, 9) (f, 1)示例4:使用已排序的函数按已排序的顺序循环字典。在已排序的函数中使用key参数,根据字典的值对其排序。
d={ f:1,b:4,a:3,e:9,c:2} #sorting by values in the dictionary for i in sorted(d.items(),key=lambda item:item[1]): print (i) #Output: (f, 1) (c, 2) (a, 3) (b, 4) (e, 9)5. 使用reversed()函数遍历序列
reversed(seq):
返回反向迭代器。seq必须是一个具有__reversed__()方法或支持序列协议(__len__()方法和__getitem__()方法,参数从0开始)的对象。
示例:
反向循环一个序列,然后调用reversed()函数。
colors=[red,green,blue,yellow] for i in reversed(colors): print (i) Output: yellow blue green red6. 循环查找字典
当循环遍历字典时,可以使用items()方法同时检索键和相应的值。
示例:
d={ a:1,b:2,c:3} for k,v in d.items(): print (k,v) #Output: a 1 b 2 c 37. 在迭代时修改集合
在遍历同一个集合时修改集合的代码可能很难正确处理。相反,循环遍历集合的副本或创建一个新集合通常更简单。
策略1:对副本进行迭代
如果希望在迭代时删除字典中的项,则在字典的副本上进行迭代:
d={ a:1,b:2,c:3} for k,v in d.copy().items(): if v%2==0: del d[k] print (d) #Output:{ a: 1, c: 3}策略2:创建一个新的源码下载集合
d={ a:1,b:2,c:3} d1={ } for k,v in d.items(): if v%2!=0: d1[k]=v print (d1) #Output:{ a: 1, c: 3} print (d) #Output:{ a: 1, b: 2, c: 3}英文原文链接:
https://medium.com/analytics-vidhya/looping-techniques-in-python-3bbf907b8dfa
很赞哦!(56822)
上一篇: 4、说起来容易
下一篇: 四、一定要仔细阅读细节
相关文章
- 什么是im域名?新手需要了解im域名哪些?
- 程序员是如何神不知鬼不觉的弄丢银行1分钱的?
- 这一次,除了骂阿里云,还能做些什么?
- 程序员是如何神不知鬼不觉的弄丢银行1分钱的?
- 域名资源有限,好域名更是有限,但机会随时都有,这取决于我们能否抓住机会。一般观点认为,国内域名注册太深,建议优先考虑外国注册人。外国注册人相对诚实,但价格差别很大,从几美元到几十美元不等。域名投资者应抓住机遇,尽早注册国外域名。
- 基于HTTP请求拦截,快速解决跨域和代理Mock
- 前端开发值得拥有的 VSCode 插件
- 《都挺好》弹幕比剧还精彩?394452条弹幕告诉你答案
- 便宜域名使用如何?小白可以买到便宜域名吗?
- 称职QA经理必备的13项技能
热门文章
站长推荐
用户邮箱的静态密码可能已被钓鱼和同一密码泄露。在没有收到安全警报的情况下,用户在适当的时间内不能更改密码。在此期间,攻击者可以随意输入帐户。启用辅助身份验证后,如果攻击者无法获取移动电话动态密码,他将无法进行身份验证。这样,除非用户的电子邮件密码和手机同时被盗,否则攻击者很难破解用户的邮箱。
据说99.99%的人都会答错的类加载问题
没啥新鲜的?区块链编程就这几个关键!
微博K8S实战:如何应对春晚等突发峰值流量?
3、查看排名
优秀开发工具大全!前谷歌工程师两年打造“厂外生存指南”,登上GitHub热榜
Spring Boot 流行的 16 条实践解读!
Spring Boot中如何干掉过多的if else!