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

分享几个简单易懂的Python技巧,可以大大提高工作效率!

时间:2023-03-16 15:31:35 科技观察

今天,我想和大家分享一些关于Python的小技巧。它们都非常简单易懂。希望大家看完后有所收获。01.反转字符串my_string="ABCDE"reversed_string=my_string[::-1]print(reversed_string)------------------------------------#Output#EDCBA02。通过title()方法实现英文单词首字母大写my_string="mynameisxiaoming"#使用title()实现首字母大写new_string=my_string.title()print(new_string)------------------------------------#output#MyNameIsXiaoMing03。删除重复的字符串my_string="aabbbbbccccddddeeeff"#通过set()删除重复temp_set=set(my_string)#通过join()new_string=''.join(temp_set)print(new_string)---------------------------------#output#dfbcae04。分割字符串Pythonsplit()通过指定分隔符对字符对字符串进行切片,默认分隔符为""string_1="Mynameisxiaoming"string_2="sample,string1,string2"#默认分隔符为空格进行分割print(string_1.split())#根据分隔符","来拆分print(string_2.split(','))-----------------------------------#output#['My','name','is','xiao','ming']#['sample','string1','string2']05.连接字典中的字符串Wordsinstringslist_of_strings=['My','name','is','Xiao','Ming']#将单词通过空格连接成句print(''.join(list_of_strings))-----------------------------------------#output#MynameisXiaoMing06。查看列表中的元素个数fromcollectionsimportCountermy_list=['a','a','b','b','b','c','d','d','d','d','d']count=Counter(my_list)print(count)#Counter({'d':5,'b':3,'a':2,'c':1})print(count['b'])#单个“b”元素出现的次数#3print(count.most_common(1))#出现频率最高的元素#[('d',5)]07.合并两个字典dict_1={'apple':9,'banana':6}dict_2={'grape':4,'orange':8}#方法一combined_dict={**dict_1,**dict_2}print(combined_dict)#方法2dict_1.update(dict_2)print(dict_1)#方法3print(dict(dict_1.items()|dict_2.items()))--------------------------------------#output#{'apple':9,'banana':6,'grape':4,'orange':8}#{'apple':9,'banana':6,'grape':4,'orange':8}#{'apple':9,'banana':6,'grape':4,'orange':8}08。查看程序运行时间importtimestart_time=time.time()#########################具体程序......##########################end_time=time.time()time_taken_in_micro=(end_time-start_time)*(10**6)print(time_taken_in_micro)09.列表的扁平化有时会在列表中嵌套一个列表,fromiteration_utilitiesimportdeepflattenl=[[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]print(list(deepflatten(l,depth=3)))------------------------------------------#output#[1,2,3,4,5,6,7,8,9,10]10。检查列表中是否有重复值defunique(l):iflen(l)==len(set(l)):print("没有重复值")else:print("有重复值")unique([1,2,3,4])#不存在重复值unique([1,1,2,3])#存在重复值11.数组的转置array=[['a','b'],['c','d'],['e','f']]transposed=zip(*array)print(list(transposed))--------------------------------------#output#[('a','c','e'),('b','d','f')]12。查找列表中两个不同的元素defdifference(a,b):setset_a=set(a)setset_b=set(b)comparison=set_a.difference(set_b)returnlist(comparison)#返回第一个列表的不同元素difference([1,2,6],[1,2,5])#[6]13。将两个列表转换为键值对,并将两个列表合并为键值对的字典defto_dictionary(keys,values):returndict(zip(keys,values))keys=["a","b","c"]values=[2,3,4]print(to_dictionary(keys,values))--------------------------------------------#output#{'a':2,'b':3,'c':4}14。对字典进行排序根据字典中的值对字典进行排序d={'apple':9,'grape':4,'banana':6,'orange':8}#方法1sorted(d.items(),key=lambdax:x[1])#从小到大排序#[('葡萄',4),('香蕉',6),('橙子',8),('苹果',9)]sorted(d.items(),key=lambdax:x[1],reverse=True)#从大到小排序#[('apple',9),('orange',8),('banana',6),('葡萄',4)]#方法二fromoperatorimportitemgetterprint(sorted(d.items(),key=itemgetter(1)))#[('葡萄',4),('香蕉',6),('橙子',8),('苹果',9)]15.列表list1=[20,30,50,70,90]中最大/最小值的索引defmax_index(list_test):returnmax(range(len(list_test)),key=list_test.__getitem__)defmin_index(list_test):returnmin(range(len(list_test)),key=list_test.__getitem__)max_index(list1)#4min_index(list1)#0