如何在Python中使用递归拆分字符串?

保持力

我想问一问如何创建一个递归函数,该函数为每个字符拆分列表中包含的每个字符串,并在每次重复该过程时从开头删除一个字符串。我也想这样做,但是每次都要删除结尾处的一封信。例如,如果我有类似的东西:

list=['house','cat','dog']

我应该得到

['house','ouse','use','se','e','cat','at','t','dog','og','g']

['house','hous','hou','ho','h','cat','ca','c','dog','do','d']

我试图这样做,但是没有用;同样,它应该都是递归的...预先谢谢。

def substring(stringslist):
    final=[]
    for string in stringslist:
        if len(string)==1:
            return final.append(string)
        else:
            return final.append(substring(string[::-1]))
mingmingrr

首先,让我们将您的函数固定为一个有效的迭代版本。

def substring(strings):
    final = []
    for string in strings:
        while string:
            final.append(string)
            string = string[1:]
    return final

接下来,让我们将final变量移到参数中,以便可以在列表上构建对函数的递归调用。

def substring(strings, final=None):
    if final is None: final = []
    for string in strings:
        while string:
            final.append(string)
            string = string[1:]
    return final

下一步是将for循环转换为递归。我们可以看到,基本情况是当列表strings为空时,而递归情况是对的每个元素进行处理strings对于递归情况,我们将提取的第一个元素,strings并将列表的其余部分传递给递归调用。

def substring(strings, final=None):
    if final is None: final = []
    # base case: empty list
    if not strings: return final
    # recursive case:
    # work on first string in list
    string = strings[0]
    # add all substrings to final
    while string:
        final.append(string)
        string = string[1:]
    return substring(strings[1:], final)

while循环转换为递归是一个类似的过程:找到基本情况(empty string)和递归情况(向添加单个子字符串final),并为递归情况进行递归调用。

def substring(strings, final=None):
    if final is None: final = []
    if not strings: return final
    string = strings[0]
    if not string: return substring(strings[1:], final)
    final.append(string)
    strings[0] = string[1:]
    return substring(strings, final)

最后,进行一些清理。

def substring(strings, final=None):
    if final is None: final = []
    if not strings: return final
    if not string[0]: return substring(strings[1:], final)
    final.append(string)
    strings[0] = string[0][1:]
    return substring(strings, final)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Python 中使用多个单词分隔符拆分字符串?

来自分类Dev

如何在android中使用特殊字符获取拆分字符串?

来自分类Dev

如何在python中使用regex模块将文本字符串拆分为仅单词?

来自分类Dev

如何在查询中使用函数使用“字符串进行表拆分”?

来自分类Dev

如何在Python格式的字符串中使用点?

来自分类Dev

如何在JavaScript中使用Python字符串索引?

来自分类Dev

如何在PHP的字符串中使用动态整数定界符拆分字符串?

来自分类Dev

如何在C#中使用linq在以“ <input”开头的字符串中拆分字符串

来自分类Dev

如何在Java中使用正则表达式拆分字符串

来自分类Dev

如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

来自分类Dev

如何在Java中使用双引号拆分字符串

来自分类Dev

如何在批处理文件中使用“ =”拆分字符串而无for循环

来自分类Dev

如何在bash中使用引号(例如命令参数)拆分字符串?

来自分类Dev

如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

来自分类Dev

如何在PHP中使用重音符拆分字符串?

来自分类Dev

如何在jQuery中使用多个分隔符拆分字符串

来自分类Dev

如何在 Swift 中使用可选变量拆分多行字符串文字

来自分类Dev

如何在pyspark中使用pandas_udf拆分数据帧中的字符串

来自分类Dev

如何在C ++中使用递归char *函数反转字符串

来自分类Dev

如何使用regexp在Oracle中使用匹配字符串拆分字符串?

来自分类Dev

如何使用regexp在Oracle中使用匹配字符串拆分字符串?

来自分类Dev

如何在Python的嵌套列表中拆分字符串?

来自分类Dev

如何在Python中拆分此字符串?

来自分类Dev

如何在Python的嵌套列表中拆分字符串?

来自分类Dev

我如何在python中拆分此字符串

来自分类Dev

如何在 Python 中将字符串拆分为列表?

来自分类Dev

在Python中使用两个子字符串拆分字符串

来自分类Dev

如何在python中拆分字符串并使用定界符获取结果?

来自分类Dev

如何使用python将字符串拆分为dict?

Related 相关文章

  1. 1

    如何在 Python 中使用多个单词分隔符拆分字符串?

  2. 2

    如何在android中使用特殊字符获取拆分字符串?

  3. 3

    如何在python中使用regex模块将文本字符串拆分为仅单词?

  4. 4

    如何在查询中使用函数使用“字符串进行表拆分”?

  5. 5

    如何在Python格式的字符串中使用点?

  6. 6

    如何在JavaScript中使用Python字符串索引?

  7. 7

    如何在PHP的字符串中使用动态整数定界符拆分字符串?

  8. 8

    如何在C#中使用linq在以“ <input”开头的字符串中拆分字符串

  9. 9

    如何在Java中使用正则表达式拆分字符串

  10. 10

    如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

  11. 11

    如何在Java中使用双引号拆分字符串

  12. 12

    如何在批处理文件中使用“ =”拆分字符串而无for循环

  13. 13

    如何在bash中使用引号(例如命令参数)拆分字符串?

  14. 14

    如何在BOURNE SHELL中使用定界符拆分和迭代子字符串?

  15. 15

    如何在PHP中使用重音符拆分字符串?

  16. 16

    如何在jQuery中使用多个分隔符拆分字符串

  17. 17

    如何在 Swift 中使用可选变量拆分多行字符串文字

  18. 18

    如何在pyspark中使用pandas_udf拆分数据帧中的字符串

  19. 19

    如何在C ++中使用递归char *函数反转字符串

  20. 20

    如何使用regexp在Oracle中使用匹配字符串拆分字符串?

  21. 21

    如何使用regexp在Oracle中使用匹配字符串拆分字符串?

  22. 22

    如何在Python的嵌套列表中拆分字符串?

  23. 23

    如何在Python中拆分此字符串?

  24. 24

    如何在Python的嵌套列表中拆分字符串?

  25. 25

    我如何在python中拆分此字符串

  26. 26

    如何在 Python 中将字符串拆分为列表?

  27. 27

    在Python中使用两个子字符串拆分字符串

  28. 28

    如何在python中拆分字符串并使用定界符获取结果?

  29. 29

    如何使用python将字符串拆分为dict?

热门标签

归档