如何在python中找到过程
发布时间:2020-12-20 11:26:52 所属栏目:Python 来源:网络整理
导读:我希望自己创建一个’find’程序,它能够在字符串中找到一个子字符串,它也应该能够向后读取一个字符串并给出匹配的位置 – 就像 python中的原始find函数一样. 我无法弄清楚我应该使用什么逻辑 – 我也不知道原始查找功能如何? 我刚开始使用python,对编程也很
我希望自己创建一个’find’程序,它能够在字符串中找到一个子字符串,它也应该能够向后读取一个字符串并给出匹配的位置 – 就像
python中的原始find函数一样.
我无法弄清楚我应该使用什么逻辑 – 我也不知道原始查找功能如何? 我刚开始使用python,对编程也很新. 任何指导都将受到高度赞赏! 解决方法
这是一个返回列表中所有提示的解决方案,rfind是使用原始的find关键字向后定义的.您也可以使用整数或浮点数.您可以轻松修改它,以便仅返回第一个提示.
def find( x,string,backward = False,ignore_case = False ): x = str(x) string = str(string) if ignore_case: x = x.lower() string = string.lower() str_list = [ i for i in string ] x_list = [ i for i in x ] if backward: x_list.reverse() str_list.reverse() x = ''.join(x_list) string = ''.join(str_list) lenx = len(x) ans = [] for i in range( len(str_list) - lenx ): if x == string[i:i+lenx]: ans.append( i ) return ans def rfind( x,ignore_case = False): return find( x,backward = True,ignore_case = ignore_case ) print find('f','abcdefgacdfh') # [5,10] print rfind('f','abcdefgacdfh') # [1,6] print find(12,'aaa3331222aa12a') # [6,12] print rfind(12,'aaa3331222aa12a') # [1,7] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |