Python是一门非BS编程语言。设计简单性和易读性是其流行的两个原因。就像Python的宗旨:美胜于丑,显胜于隐。记住一些有助于改进代码设计的常用技巧很有用。在紧要关头,这些小技巧可以让你省去在线查看StackOverflow的麻烦。它们将在您的日常编程练习中为您提供帮助。1.反转字符串以下代码使用Python切片操作来反转字符串。#Reversingastringusingslicingmy_string="ABCDE"reversed_string=my_string[::-1]print(reversed_string)#Output#EDCBA2。使用标题类(首字母大写)以下代码可用于将字符串转换为标题类。这是使用字符串类中的title()方法完成的。my_string="mynameischaitanyabaweja"#usingthetitle()functionofstringclassnew_string=my_string.title()print(new_string)#Output#MyNameIsChaitanyaBaweja3.查找字符串的唯一元素以下代码可用于查找字符串中的所有唯一元素。我们使用它的属性,其中一组字符串中的所有元素都是唯一的。my_string="aavvccccddddeee"#convertingthestringtoasettemp_set=set(my_string)#stitchingsetintoastringusingjoinnew_string=.join(temp_set)print(new_string)4.输出字符串或列表n次您可以在字符串或列表上使用乘法(*)。通过这种方式,它们可以根据需要进行多次乘法。n=3#numberofrepetitionsmy_string="abcd"my_list=[1,2,3]print(my_string*n)#abcdabcdabcdprint(my_list*n)#[1,2,3,1,2,3,1,2,3]importstreamlitasst的一个有趣用例是定义一个具有常量值的列表,假设为零。n=4my_list=[0]*n#ndenotestthelenthoftherequiredlist#[0,0,0,0]5。列表推导式列表推导式提供了一种优雅的方式来创建基于其他列表的列表。以下代码通过将旧列表中的每个对象相乘两次来创建一个新列表。#Multiplyingeachelementinalistby2original_list=[1,2,3,4]new_list=[2*xforxinoriginal_list]print(new_list)#[2,4,6,8]6。在两个变量之间交换值Python可以在不使用第三个变量的情况下轻松地在两个变量之间交换两个值。a=1b=2a,b=b,aprint(a)#2print(b)#17。将字符串拆分为子字符串列表通过使用.split()方法,可以将字符串拆分为子字符串列表。您还可以将要拆分的分隔符作为参数传递。string_1="MynameisChaitanyaBaweja"string_2="sample/string2"#defaultseparatorprint(string_1.split())#[My,name,is,Chaitanya,Baweja]#definingseparatoras/print(string_2.split(/))#[sample,string2]8。将字符串列表集成为单个字符串join()方法将字符串列表组合为单个字符串。在下面的示例中,逗号分隔符用于分隔它们。list_of_strings=[My,name,is,Chaitanya,Baweja]#Usingjoinwiththecommaseparatorprint(,.join(list_of_strings))#Output#My,name,is,Chaitanya,Baweja9。CheckifthegivenstringisapalindromereverseStrings上面已经讨论过了。回文因此成为Python中的一个简单程序。my_string="abcba"如果my_string==my_string[::-1]:print("palindrome")else:print("notpalindrome")#Output#palindrome10。列表元素的频率有很多方法可以完成这个任务,我最喜欢的是Python的Counter类。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)]11。查找两个字符串是否是anagramsCounter类的一个有趣的应用是查找anagrams。字谜是通过重新排列不同单词或短语的字母而形成的新单词或短语。如果两个字符串的counter对象相等,则为anagrams。FromcollectionsimportCounterstr_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块Python中的错误处理很容易通过使用try/except块来解决。在该块中添加else语句可能会有用。当try块没有异常时,就正常运行了。如果要运行某个程序,请使用finally而不考虑异常。a,b=1,0try:print(a/b)#exceptionraisedwhenbis0exceptZeroDivisionError:print("divisionbyzero")else:print("noexceptionsraised")finally:print("Runthisalways")13.使用枚举获取索引值对以下脚本使用枚举来迭代列表中的值及其索引。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:e14。检查对象的内存使用情况以下脚本可用于检查对象的内存使用情况。importsysnum=21print(sys.getsizeof(num))#InPython2,24#InPython3,2815。合并两个字典在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}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.ListListFlattening有时您不确定列表的嵌套深度,只想将所有元素放在一个平面列表中。可以通过以下方式获得:fromiteration_utilitiesimportdeepflatten#ifyoonlyhaveonedepthnested_list,usethisdeflatten(l):return[itemforsublistinlforiteminsublist]l=[[1,2,3],[3]]print(flatten(l))#[1,2,3,3]#ifyoudontknowhowdeepthelistisnestedl=[[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]print(列表(deepflatten(l,depth=3)))#[1,2,3,4,5,6,7,8,9,10]如果数组格式正确,Numpy展平是更好的选择。18.列表抽样使用随机软件库,以下代码从给定列表中生成n个随机样本。importrandommy_list=[a,b,c,d,e]num_samples=2samples=random.sample(my_list,num_samples)print(samples)#[a,e]thiswillhaveany2randomvalues强烈推荐使用secrets软件库生成随机样本加密。下面的代码仅适用于Python3。importsecrets#importssecuremodule.secure_random=secrets.SystemRandom()#createssecurerandomobject.my_list=[a,b,c,d,e]num_samples=2samples=secure_random.sample(my_list,num_samples)print(samples)#[e,d]thiswillhaveany2randomvalues19.digitize以下代码将整数转换为数字列表。num=123456#usingmaplist_of_digits=list(map(int,str(num)))print(list_of_digits)#[1,2,3,4,5,6]#usinglistcomprehensionlist_of_digits=[int(x)forxinstr(num)]print(list_of_digits)#[1,2,3,4,5,6]20.检查唯一性以下函数将检查列表中的所有元素是否唯一。defunique(l):iflen(l)==len(set(l)):print("Allelementsareunique")else:print("Listhasduplicates")unique([1,2,3,4])#Allelementsareuniqueunique([1,1,2,3])#Listhasduplicates
