18个Python脚本可加速你的编码速度(提示和技巧)
在本文中,我们向您介绍一些提示和技巧,以帮助您更快地编写代码
Python的可读性和设计简单性是其广受欢迎的两个主要原因。
一些常见的Python技巧可以帮助你提高编码速度。在您的日常编码练习中,以下技巧将非常有用。
1.在字符串中查找唯一元素
以下代码段可用于查找字符串中的所有唯一元素。我们使用集合中所有元素都是唯一的属性。
my_string="aavvccccddddeee" #将字符串转换为集合 temp_set=set(my_string) #使用join将拼接设置为字符串 new_string=''.join(temp_set) print(new_string)
2.首字母大写
以下代码段可用于将字符串转换为标题大小写。这是使用title()字符串类的方法完成的。
my_string=“MyNameIsChaitanyaBaweja” #使用string类的title()函数 new_string=my_string.title() print(new_string) #output MyNameIsChaitanyaBaweja
3.反转字符串
以下代码段使用Python切片操作来反转字符串。
#使用切片反转字符串 my_string="ABCDE" reversed_string=my_string[::-1] print(reversed_string) #output
4.n次打印字符串或列表
您可以对字符串或列表使用乘法(*)。这使我们可以将它们任意倍增。
n=3#重复次数 my_string="ABCD" my_list=[1,2,3] print(my_string*n) #abcdabcdabcd print(my_list*n) #[1,2,3,1,2,3,1,2,3]
一个有趣的用例是定义一个具有恒定值的列表-假设为零。
n=4 my_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,lulu
6.在两个变量之间交换值
Python使在两个变量之间交换值而不使用另一个变量变得非常简单。
a=1 b=2 a,b=b,a print(a)#2 print(b)#1
7.将字符串拆分为子字符串列表
我们可以使用字符串类中的.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.ListComprehension
ListComprehension为我们提供了一种基于其他列表创建列表的优雅方法。以下代码段通过将旧列表的每个元素乘以2来创建新列表。
#Multiplyingeachelementinalistby2 original_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 #palindrome
10.使用枚举获取索引/值对
以下脚本使用枚举遍历列表中的值及其索引。
my_list=['a','b','c','d','e'] forindex,valueinenumerate(my_list): print('{0}:{1}'.format(index,value)) #0:a #1:b #2:c #3:d #4:e
11.查找两个字符串是否为字母
Counter类的一个有趣应用是查找字谜。
字谜是通过重新排列不同单词或短语的字母而形成的单词或短语。
如果Counter两个字符串的对象相等,那么它们就是字谜。
fromcollectionsimportCounter str_1,str_2,str_3="acbde","abced","abcda" cnt_1,cnt_2,cnt_3=Counter(str_1),Counter(str_2),Counter(str_3) ifcnt_1==cnt_2: print('1and2anagram') ifcnt_1==cnt_3: print('1and3anagram')
12.使用try-except-else块
使用try/except块可以轻松完成Python中的错误处理。当try块中没有引发异常时,它将正常运行。如果您需要运行某些程序而不考虑异常,请使用finally,保证资源的释放,和最终逻辑的执行。
try: print(a/b) #exceptionraisedwhenbis0 exceptZeroDivisionError: print("divisionbyzero") else: print("noexceptionsraised") finally: print("Runthisalways")
13.列表中元素的频率
这样做有多种方法,但我最喜欢的是使用PythonCounter类。
Python计数器跟踪容器中每个元素的频率。Counter()返回一个字典,其中元素作为键,而频率作为值。
我们还使用该most_common()函数来获取most_frequent列表中的元素。
#findingfrequencyofeachelementinalist fromcollectionsimportCounter my_list=['a','a','b','b','b','c','d','d','d','d','d'] count=Counter(my_list)#definingacounterobject print(count)#Ofallelements #Counter({'d':5,'b':3,'a':2,'c':1}) print(count['b'])#ofindividualelement #3 print(count.most_common(1))#mostfrequentelement #[('d',5)]
14.检查对象的内存使用情况
以下脚本可用于检查对象的内存使用情况。在此处了解更多信息。
importsys num=21 print(sys.getsizeof(num)) #InPython2,24 #InPython3,28
15.从列表中取样
以下代码段n使用该random库从给定列表中生成了许多随机样本。
随机导入 my_list=['a','b','c','d','e'] num_samples=2 样本=随机.sample(my_list,num_samples) 打印(样本) #['a','e']这将具有任意2个随机值
16.统计代码执行所需的时间
以下代码段使用该time库来计算执行一段代码所花费的时间。
importtime start_time=time.time() #Codetocheckfollows a,b=1,2 c=a+b #Codetocheckends end_time=time.time() time_taken_in_micro=(end_time-start_time)*(10**6) print("Timetakeninmicro_seconds:{0}ms").format(time_taken_in_micro)
17.展平列表清单
有时不确定列表的嵌套深度,只希望将所有元素放在一个平面列表中。应该这样做:
fromiteration_utilitiesimportdeepflatten #ifyouonlyhaveonedepthnested_list,usethis defflatten(l): return[itemforsublistinlforiteminsublist] l=[[1,2,3],[3]] print(flatten(l)) #[1,2,3,3] #ifyoudon'tknowhowdeepthelistisnested 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}
总结
以上所述是小编给大家介绍的18个Python脚本可加速你的编码速度,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!