递归所有子字符串python_如何在Python中递归地搜索子字符串?

提前谢谢你的帮助。在

我有一个字符串列表full_name_list = ["hello all","cat for all","dog for all","cat dog","hello cat","cat hello"]

我需要在每个元素和列表中的所有元素之间进行百分比匹配。例如,我需要首先将"hello all"分解为["hello", "all"],我可以看到{}在{}中,因此这将是一个50%的匹配。这是我到目前为止的情况

^{pr2}$

如您所见,每个子列表中的第一个单词包含要搜索的子字符串,后面是包含该子字符串的元素。我能够对一个单词匹配这样做,并且我意识到我可以继续这个过程,只需取单个单词之间的交集来获得双重匹配,例如cat for all [(cat,for) [u'cat for all']] [(for,all) [u'cat for all', u'dog for all']]

我的问题是递归地这样做,因为我不知道我最长的字符串将有多长。另外,有没有更好的方法来进行字符串搜索?最后我想找到100%匹配的字符串,因为实际上"hello cat" == "cat hello"。我还想找到50%的匹配,等等。在

我得到的一个想法是使用二叉树,但是我如何在python中实现这一点呢?以下是我目前为止的代码:logical_list = []

logical_list_2 = []

logical_list_3 = []

logical_list_4 = []

match_1 = []

match_2 = []

i = 0

logical_name_full = logical_df['Logical'].tolist()

for x in logical_name_full:

logical_sublist = [x]+x.split()

logical_list.append(logical_sublist)

for sublist in logical_list:

logical_list_2.append(sublist[0])

for split_words in sublist[1:]:

match_1.append(split_words)

for logical_names in logical_name_full:

if split_words in logical_names:

match_1.append(logical_names)

logical_list_2.append(match_1)

match_1 = []

logical_list_3.append(logical_list_2)

logical_list_2 = []

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值