演员明星经纪人谢贤泉 发表于 2021-3-20 12:24:23

Python 求字符串集的所有子串

查找字符串集合的所有子字符串,如'ABC'子字符串'a ', 'B', 'C', 'ab', 'BC'和'ABC'。现在的想法是根据位控制长度遍历所有字符串,并在判断重复后将它们写入列表。但是,如果字符串长度太长,次数太多,那么循环的次数就会太多,程序就不会运行。我希望你能给一些建议。谢谢你!

大哈 发表于 2021-3-30 00:22:05

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Python 3.6
from itertools import accumulate

def all_sub_string(a_string):
    if len(a_string) == 1:
      return
    else:
      return list(accumulate(a_string)) + all_sub_string(a_string)


print(all_sub_string('abcde'))

鸡蛋仔的小酒窝 发表于 2021-4-1 17:51:19

是遍历长度,然后可以组合,有函数可用

蓝色月光 发表于 2021-4-19 05:15:20

def subsets(nums):
      res = []
      def backtrack(nums, tmp):
            res.append(tmp)
            for i in range(len(nums)):
                backtrack(nums, tmp+])
      backtrack(nums, [])
      return res
页: [1]
查看完整版本: Python 求字符串集的所有子串