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

18个Python脚本来加速你的编码

时间:2023-03-15 13:25:22 科技观察

在这篇文章中,我们向您介绍一些提示和技巧,以帮助您更快地编写代码。一些常见的Python技巧可以帮助您更快地编写代码。以下提示将在您的日常编码实践中派上用场。1.查找字符串中的唯一元素以下代码片段可用于查找字符串中的所有唯一元素。我们使用集合中所有元素都是唯一的属性。my_string="aavvccccddddeee"#将字符串转为集合temp_set=set(my_string)#使用join设置拼接为字符串new_string=''.join(temp_set)print(new_string)2.首字母大写下面代码可以使用snippets将字符串转换为标题大小写。这是使用字符串类的title()方法完成的。my_string="MyNameIsChaitanyaBaweja"#Usingthetitle()functionofthestringclassnew_string=my_string.title()print(new_string)#outputMyNameIsChaitanyaBaweja3.反转字符串以下代码段使用Python切片操作反转字符串。#使用切片反转字符串my_string="ABCDE"reversed_string=my_string[::-1]print(reversed_string)#output4.打印字符串或列表n次您可以在字符串或列表上使用multiply(*)。这使我们可以任意乘以它们。n=3#重复次数my_string="ABCD"my_list=[1,2,3]print(my_string*n)#abcdabcdabcdprint(my_list*n)#[1,2,3,1,2,3,1,2,3]一个有趣的用例是定义一个具有常量值的列表——假设为零。n=4my_list=[0]*n#n表示所需列表的长度#[0,0,0,0]5.将字符串列表组合成单个字符串join()方法将作为参数传递给组合成单个字符串的字符串列表。在我们的例子中,我们用逗号分隔符分隔它们。list_of_strings=['My','name','is','haha','lulu']#使用","连接字符串print(','.join(list_of_strings))#Output#My,name,is,haha,lulu6.在两个变量之间交换值Python使得在不使用另一个变量的情况下在两个变量之间交换值真的很容易。a=1b=2a,b=b,aprint(a)#2print(b)#17。将字符串拆分为子字符串列表我们可以使用字符串类中的.split()方法将字符串拆分为子字符串列表。您还可以将分隔符作为参数传递给拆分。string_1="Mynameishahalulu"string_2="sample/string2"#defaultseparator''print(string_1.split())#['My','name','is','haha','lulu']#definingseparatoras'/'print(string_2.split('/'))#['sample','string2']8.ListComprehensionListComprehension为我们提供了一种基于其他列表创建列表的优雅方式。以下代码片段通过将旧列表的每个元素乘以2创建一个新列表。#Multiplyingeachelementinalistby2original_list=[1,2,3,4]new_list=[2*xforxinoriginal_list]print(new_list)#[2,4,6,8]你可以在这里了解更多。9.检查给定的字符串是否为回文我们已经讨论过如何反转字符串。回文因此成为Python中的一个简单程序。my_string="abcba"ifmy_string==my_string[::-1]:print("palindrome")else:print("notpalindrome")#Output#palindrome10。使用枚举获取索引/值对以下脚本使用枚举遍历列表中的值及其索引。my_list=['a','b','c','d','e']forindex,valueinumerate(my_list):print('{0}:{1}'.format(index,value))#0:a#1:b#2:c#3:d#4:e11。查找两个字符串是否为字母Counter类的一个有趣应用是查找变位词。字谜是通过重新排列不同单词或短语的字母而形成的单词或短语。如果两个字符串的Counter对象相等,则它们是变位词。fromcollectionsimportCounterstr_1,str_2,str_3="acbde","abced","abcda"cnt_1,cnt_2,cnt_3=计数器(str_1),计数器(str_2),计数器(str_3)ifcnt_1==cnt_2:print('1and2anagram')ifcnt_1==cnt_3:print('1and3anagram')12.使用try-except-else块Python中的错误处理可以使用try/except块轻松完成。当try块中没有抛出异常时,它将正常运行。如果需要无视异常的运行某些程序,使用finally来保证资源的释放和final逻辑的执行。try:print(a/b)#exceptionraisedwhenbis0exceptZeroDivisionError:print("divisionbyzero")else:print("noexceptionsraised")finally:print("Runthisalways")13.列表中元素出现的频率最喜欢的是使用Python计数器班级。Python计数器跟踪容器中每个元素的频率。Counter()返回一个字典,其中元素作为键,频率作为值。我们还使用most_common()函数来获取most_frequent列表中的元素。#findingfrequencyofeachelementinalistfromcollectionsimportCountermy_list=['a','a','b','b','b','c','d','d','d','d','d']count=Counter(my_list)#definingacounterobjectprint(count)#Ofallelements#Counter({'d':5,'b':3,'a':2,'c':1})print(count['b'])#ofindividualelement#3print(count.most_common(1))#mostfrequentelement#[('d',5)]14.查看对象的内存使用情况下面的脚本可以用来查看对象的内存使用情况。在这里了解更多。importsysnum=21print(sys.getsizeof(num))#InPython2,24#InPython3,2815。来自列表的样本以下代码片段n使用随机库从给定列表中生成大量随机样本。随机导入my_list=['a','b','c','d','e']num_samples=2samples=random.sample(my_list,num_samples)print(samples)#['a','e']这将有任意2个随机值16。统计代码执行所需时间下面的代码片段使用时间库来计算执行一段代码所花费的时间。importtimestart_time=time.time()#Codetocheckfollowsa,b=1,2c=a+b#Codetocheckendsend_time=time.time()time_taken_in_micro=(end_time-start_time)*(10**6)print("Timetakeninmicro_seconds:{0}ms").format(time_taken_in_micro)17.扁平化list列表有时候你不确定list的嵌套深度,只想把所有的元素都放在一个扁平化的list中。这应该做:fromiteration_utilitiesimportdeepflatten#ifouonlyhaveonedepthnested_list,usethisdeflatten(l):return[itemforsublistinlforiteminsublist]l=[[1,2,3],[3]]print(flatten(l))#[1,2,3,3]#如果你不知道深度列表是嵌套的l=[[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]print(list(deepflatten(l,depth=3)))#[1,2,3,4,5,6,7,8,9,10]18.合并两个字典在Python2中,我们使用update()方法来合并两个字典。Python3.5使这更容易。在下面给出的脚本中,合并了两个字典。在交集的情况下,使用第二个字典中的值。dict_1={'apple':9,'banana':6}dict_2={'banana':4,'orange':8}combined_dict={**dict_1,**dict_2}print(combined_dict)#Output#{'apple':9,'banana':4,'orange':8}谢谢!