首页 > 代码库 > Split()分割函数Python实现源码
Split()分割函数Python实现源码
楼主月初去腾讯时面试官临时给的一道编程题,先说明下,本猿的本职工作是测试拉,所以代码有不合理欢迎大家批评和指导!
先卖个关子吧,上下楼主当时自己临场发挥的代码(当时没觉得,出来后都想给自己一巴掌):
##############################################
1 def split_test(stringstr,charstr): 2 templist = [] 3 for i in range(len(stringstr)): 4 if stringstr[i]==charstr: 5 print ‘this is charstr!‘ 6 else: 7 templist.append(stringstr[i]) 8 return templist 9 10 if __name__=="__main__":11 print split_test("abcdefgavavb",‘a‘)
##################################
预期结果:
C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/ChenDejieWorkSpace/.idea/Split_test.py
this is charstr!
this is charstr!
this is charstr!
[‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘v‘, ‘v‘, ‘b‘]
楼猪当时确时没想很多,以前用split()用得非常多,但从来没研究过,当时写出来后还津津乐道,以为自己多牛逼(好吧,我是二逼,大家勿喷)
##############################################################
今天下午遇到一些字符上的事,想起这道面试题,干脆去研究了下,不说了上代码:
1 #-*-coding:utf-8-*- 2 def split_new(stringstr, charstr): 3 """ 4 :param stringstr: 要分割的串 5 :param charstr: 按该串分割 6 :return: 返回分割后的list 7 """ 8 #stringstr = stringstr 9 tempstr = []10 lengstring = len(stringstr)#计算串的长度11 lengchar = len(charstr)#计算分割符的长度12 for i in range(lengstring):13 index = stringstr.find(charstr)#找到第一个出现charstr的坐标,如果没有找到,find返回-114 if index == -1:15 tempstr.append(stringstr)16 return tempstr17 else:18 tempstr.append(stringstr[:index])#取第一次出现charstr(不包含charstr)的前面部分19 stringstr = stringstr[index+lengchar:]#把第一次出现charstr(不包含charstr)的 后面部分 重新赋值给stringstr20 21 if __name__=="__main__":22 print split_new("ABCDEFGAA@@ABCDEFGA@@ABCDEFG", "A")
##################################
预期结果:
C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/ChenDejieWorkSpace/split_New.py
[‘‘, ‘BCDEFG‘, ‘‘, ‘@@‘, ‘BCDEFG‘, ‘@@‘, ‘BCDEFG‘]
优点是分割符可以使用字符或者串都行
尾声:代码无法拷回,临时回忆贴图,有问题先感谢大家指导并留言!
Split()分割函数Python实现源码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。