当前位置: 首页 > 科技观察

三个省时的Python技巧!

时间:2023-03-21 22:05:30 科技观察

我最近的工作:自动文件移动、图像处理和数据清理。在编程的过程中,总结了一些Python的技巧,让我的代码干净易懂。接下来给大家分享3个Python省时技巧。反转列表我最近有一个项目需要反转列表,最初是通过切片。但实际上,使用内置函数reverse()方法,在python中也可以反转列表。从创建列表开始。#创建一个列表mylist=list(np.arange(0,100))反转列表的两种方法是:#使用切片反转列表newlist=mylist[::-1]#使用内置的reverse()来反转列表mylist.reverse()两种方法都可以反转列表,但需要注意的是内置函数reverse()改变了原来的列表,切片方法创建了一个新的列表。我们来对比一下执行时间?reverse()和列表切片的执行时间。很明显,内置函数reverse()比列表切片法快了3倍!在我的工作项目中,为了实现系统文件的自动移动,我创建了一个位置值列表。早期的Python程序是使用列表切片编写的,现在我重写了代码以使用reverse()函数来使程序执行得更快。那么,这是第二种技术。Swapingtwovalueswithonelinecode用一行代码交换两个变量值是一种真正的Pythonic方式。与其他编程语言不同,Python不需要使用临时变量来交换两个数字或值。一个简单的例子:#创建两个变量variable_1=100variable_2=500要交换variable_1和variable_2的值,只需要使用一行代码。variable_2,variable_1=variable_1,variable_2用一行代码交换两个值,简化后就是下面的形式。当然,我的实际工作项目比这复杂一点,使用字典,每个键都有一个列表作为值。md[key_2],md[key_1]=md[key_1],md[key_2]通过以上技巧,我的工作省去了多次迭代和复杂的数据转换,减少了执行时间。在函数内部使用for循环我们都喜欢创建自定义函数来执行我们自己的特定任务。然后使用for循环迭代这些函数,多次重复该任务。但是,在for循环中使用函数需要更长的执行时间,因为每次迭代都会调用该函数。相反,如果for循环是在一个函数内部实现的,那么这个函数只会被调用一次。为了说明的更清楚,还是举个例子吧!先创建一个简单的字符串列表:listofstrings=['apple','orange','banana','pineapple','grape']创建两个函数,for循环在函数内外,从最简单的开始.#创建一个函数内部没有for循环的函数defonlyfunction(x):newstring=x.capitalize()outputstring=x+""+newstringprint(outputstring)和一个for内部有循环的函数。#Createafunctionwhereforloopisinsidethefunctiondefforinfunction(listofstrings):forxinlistofstrings:newstring=x.capitalize()outputstring=x+""+newstringprint(outputstring)让我们使用这些函数并查看输出。很明显,这两个函数的输出结果是一样的。然而,故事并没有就此结束。比较一下,哪个更快?如您所见,在函数内部使用for循环稍微快一些。在我的另一个项目中,需要处理很多复杂的图像处理任务。相比之下,在函数内部使用for循环比在每次迭代中调用相同的函数快1.5倍。当然,这只是我个人的经验,但如果你有类似的情况,应该会有用。总而言之,你可以大量使用Python的内置函数。提高您自己的Python程序的速度,同时保持代码简洁易懂。如果你想了解更多Python内置函数,可以参考下表,也可以查看以下网站:https://docs.python.org/3/library/functions.html