python中怎么实现循环遍历
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,今天就跟大家聊聊有关python中怎么实现循环遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python之循环遍历关于循环遍历大家都知道,
千家信息网最后更新 2025年01月23日python中怎么实现循环遍历
今天就跟大家聊聊有关python中怎么实现循环遍历,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
python之循环遍历
关于循环遍历大家都知道,不外乎for和while,今天我在这写点不一样的循环和遍历。在实践中有时会遇到删除列表中的元素,那么循环遍历列表删除指定元素该怎么做呢?
还是直接上代码看案例吧:
import time# 删除下面列表中所有张姓元素,输出的结果应该是['李老大','李老二']lst = ['张老大', '张老二', '李老大', '张老三', '李老二']*10000# 直接for循环遍历列表,remove需要删除的元素def del1(lst): for i in lst: if i[0] == '张': lst.remove(i) # 在删lst[0]'张老大'的时候,列表长度变成4,导致lst[1]取值成了'李老大',跳过了'张老二' return lst # 返回的结果不符合预期# 正向遍历,通过建一个原列表的副本,然后遍历副本,删除原列表中的元素def del2(lst): lst2 = lst.copy() # 创建副本内存和时间开销大 for i in lst2: if i[0] == '张': lst.remove(i) # 删除第一个匹配的元素,检索匹配时间开销大 return lst # 结果虽然正确,但效率极低,不要用这种方法# 使用高阶函数filter方法def del3(lst): def comp(n): # 创建过滤函数 return n[0] != '张' #对于首字符不是'张'的元素返回True,予以保留。若返回False的予以删除。 return list(filter(comp, lst)) # filter高阶函数删除列表中的元素,# 删除条件是comp方法,返回的是迭代器,需要list方法转成列表# 倒序删除法def del4(lst): for i in range(len(lst) - 1, -1, -1): # 注意len(lst)必须-1,因为列表元素下标是0至len(lst)-1;注意for循环左开右闭,# 从lst队尾循环到开头必须是-1,写0会漏了lst[0];-1表示倒序排列。range实际就是int数字列表生成式,在这实际生成的是# [49999,49998,..1,0],通过下标访问列表的指定元素。 if lst[i][0] == '张': del lst[i] return lst# 倒序删除之while循环,效果和for序号一致,运行效率差别极其微小(for序号方法内存开销略大一点点)。while循环需要写7行,# for循环只要5行,更推荐使用for循环。但while循环代码阅读起来更易懂。def del5(lst): length = len(lst) - 1 while length >= 0: if lst[length][0] == '张': del lst[length] length -= 1 return lst# lst = del1(lst) # del1方法直接遍历列表删除指定元素,返回结果错误# print(lst)# t1 = time.time()# lst = del2(lst) # del2方法通过创建原列表副本,遍历副本删除原件中的指定元素,返回结果正确,但是运行效率极低# t2 = time.time()# print(f"遍历方法删除元素用时:{t2 - t1:.5f}") # 4.51529,在这可以看到代码优化的必要性,运行结果虽然一致但性能差别极大。# 评价性能一般看2个指标,1是时间消耗,2是资源消耗(通常指内存消耗,特殊场合还有别的资源消耗)。t1 = time.time()lst = del3(lst)t2 = time.time()print(f"filter方法删除元素用时:{t2 - t1:.5f}") # 0.00596# t1 = time.time()# lst = del4(lst)# t2 = time.time()# print(f"遍历方法删除元素用时:{t2 - t1:.5f}") # 0.07991# t1 = time.time()# lst = del5(lst)# t2 = time.time()# print(f"遍历方法删除元素用时:{t2 - t1:.5f}") # 0.08516
看完上述内容,你们对python中怎么实现循环遍历有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
元素
循环
方法
结果
副本
老大
消耗
代码
倒序
内存
内容
函数
开销
效率
时间
运行
一致
下标
实际
差别
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
魔力风暴互联网科技
sr550服务器网卡不启用
管理win10服务器
连接opc服务器
通州网络安全产业园公司
跳一跳是什么软件开发的
寰宇极客互联网科技公司
加入风险分析的软件开发模型
引用数据库的单词怎么写
博山工厂库存软件开发
专科软件开发靠谱吗
哪个公司做网络安全性好
网易云音乐修改服务器
惠普服务器怎么进入磁盘管理
数据库中表用于存储
凤凰金融网络安全错误
联邦网络安全战略计划
青岛芒果互联网科技有限公司
南阳乐居网络技术服务
艾默生dcs软件开发语言
广州编程软件开发流程
图表组件软件开发
可以注册软件开发公司吗
服务器安全身份认证smtp
网络安全行为审计系统
心得体会之网络安全
数据库及其特征
从事网络安全工作看什么书
网络技术广告
联邦网络安全战略计划