原标题|您可以在30秒或更短时间内学会的30个有用的Python片段FatosMorina翻译 翻译|Pita&AIDeveloperPython是最流行的语言之一,它在数据科学、机器学习、Web开发、脚本、自动化等领域被许多人广泛使用。它的简单性和易用性使其如此受欢迎。在本文中,我们将介绍30个简短的代码片段,您可以在30秒或更短的时间内理解和学习。1.检查重复元素下面的方法可以检查给定列表中是否有重复元素。它使用set()属性,该属性将从列表中删除重复元素。defall_unique(lst):返回len(lst)==len(set(lst))x=[1,1,2,2,3,2,3,4,5,6]y=[1,2,3,4,5]all_unique(x)#Falseall_unique(y)#True2。Anagrams从集合中检测两个字符串是否为anagrams(即字符顺序颠倒)importCounterdefanagram(first,second):returnCounter(first)==Counter(second)anagram("abcd3","3acdb")#真3。检查内存使用情况以下代码片段可用于检查对象的内存使用情况。importsysvariable=30print(sys.getsizeof(variable))#244.字节大小计算下面的方法将返回以字节为单位的字符串长度。defbyte_size(string):return(len(string.encode(utf-8)))byte_size(?)#4byte_size(HelloWorld)#115.重复打印字符串N次下面的代码可以打印某个字符串n次n=2;s="编程";打印(s*n);#ProgrammingProgramming6.首字母大写以下代码片段使用title()方法将字符串中每个单词的首字母大写。s="programmingisawesome"print(s.title())#ProgrammingIsAwesome7.分块以下方法使用range()将列表分块为指定大小的较小列表。frommathimportceildefchunk(lst,size):returnlist(map(lambdax:lst[x*size:x*size+size],list(range(0,ceil(len(lst)/size)))))chunk([1,2,3,4,5],2)#[[1,2],[3,4],5]8.压缩下面的方法使用fliter()去除错误值在列表中(如:False、None、0和“”)defcompact(lst):returnlist(filter(bool,lst))compact([0,1,False,2,,3,a,s,34])#[1,2,3,a,s,34]9.区间数下面的代码段可以用来转换一个二维数组。array=[[a,b],[c,d],[e,f]]transposed=zip(*array)print(transposed)#[(a,c,e),(b,d,f)]10.链式比较下面的代码可以在一行中使用各种运算符进行多次比较。a=3print(2belseadd)(a,b))#918.检查重复值以下方法利用set()方法仅包含唯一元素这一事实来检查列表是否具有重复值。defhas_duplicates(lst):returnlen(lst)!=len(set(lst))x=[1,2,3,4,5,5]y=[1,2,3,4,5]has_duplicates(x)#Truehas_duplicates(y)#False19.合并两个字典可以使用下面的方法来合并两个字典。defmerge_two_dicts(a,b):c=a.copy()#复制ac.update(b)#用b中的键和值修改a的键和值returnca={x:1,y:2}b={y:3,z:4}print(merge_two_dicts(a,b))#{y:3,x:1,z:4}在Python3.5及更高版本中,您还可以执行以下操作:defmerge_dictionaries(a,b)return{**a,**b}a={x:1,y:2}b={y:3,z:4}print(merge_dictionaries(a,b))#{y:3,x:1,z:4}20.将两个列表转换为字典下面的方法将两个列表转换为字典。defto_dictionary(keys,values):returndict(zip(keys,values))keys=["a","b","c"]values=[2,3,4]print(to_dictionary(keys,values))#{a:2,c:4,b:3}21.使用枚举,以下方法将字典作为输入,然后仅返回该字典中的键。list=["a","b","c","d"]forindex,elementinenumerate(list):print("Value",element,"Index",index,)#(Value,a,Index,0)#(Value,b,Index,1)#(Value,c,Index,2)#(Value,d,Index,3)22.计算所需时间下面的代码片段可用于计算执行特定代码所需的时间。导入时间start_time=time.time()a=1b=2c=a+bprint(c)#3end_time=time.time()total_time=end_time-start_timeprint("Time:",total_time)#(Time:,1.1205673217773438e-05)23.Tryelse指令您可以将else子句用作try/except块的一部分,如果没有抛出异常则执行该块。try:2*3exceptTypeError:print("Anexceptionwasraised")else:print("ThankGod,noexceptionswereraised.")#感谢上帝,没有引发异常。24.查找最常见的元素下面的方法返回列表中出现的最常见的元素。defmost_frequent(list):returnmax(set(list),key=list.count)list=[1,2,1,2,3,2,1,4,2]most_frequent(list)25.回文下面的方法检查给定的字符串是否是回文。该方法首先将字符串转换为小写,然后从中删除非字母数字字符。最后,它将新字符串与反向版本进行比较。defpalindrome(string):fromreimportsubs=sub([W_],,string.lower())returns==s[::-1]palindrome(tacocat)#True26。没有if-else语句的简单计算器下面的代码片段将展示如何在不使用if-else条件的情况下编写一个简单的计算器。importoperatoraction={“+”:operator.add,“-”:operator.sub,“/”:operator.truediv,“*”:operator.mul,“**”:pow}print(action[-](50,25))#2527.元素的顺序被打乱了。以下算法通过实现Fisher-Yates算法在新列表中排序,随机打乱列表中元素的顺序。fromcopyimportdeepcopyfromrandomimportrandintdefshuffle(lst):temp_lst=deepcopy(lst)m=len(temp_lst)而(m):m-=1i=randint(0,m)temp_lst[m],temp_lst[i]=temp_lst[i],temp_lst[m]returntemp_lstfoo=[1,2,3]shuffle(foo)#[2,3,1],foo=[1,2,3]28.列表展平以下方法将列表展平,类似于JavaScript中的[].concat(...arr)。defspread(arg):ret=[]foriinarg:ifisinstance(i,list):ret.extend(i)else:ret.append(i)returnretspread([1,2,3,[4,5,6],[7],8,9])#[1,2,3,4,5,6,7,8,9]29.变量交换这是交换两个变量的快速方法,No需要使用额外的变量。defswap(a,b):returnb,aa,b=-1,14swap(a,b)#(14,-1)30.获取缺失键的默认值获取缺失键的默认值正在寻找包括在内。d={a:1,b:2}print(d.get(c,3))#以上3是您可能会发现在日常工作中有用的方法的简短列表。它主要基于这个GitHub项目(https://github.com/30-seconds...),您可以在其中找到许多其他有用的代码片段,包括Python和其他编程语言和技术。
