获取一个字符串所有连续子串组成集合(set)的长度,居然是Facebook的interview题目,我也做出来了,哈哈:

def get_all_substrings(string):length = len(string)alist = []for i in xrange(length):for j in xrange(i,length):alist.append(string[i:j + 1]) return alistprint get_all_substring('abcde')

不过感觉写的有点simple,问问stackoverflow:

还是这样写比较简单:

def get_all_substrings_1(input_string):length = len(input_string)return [input_string[i:j + 1] for i in xrange(length) for j in xrange(i,length)]

还有个朋友用yeild,没想到啊:

def get_all_substrings(string):length = len(string)for i in xrange(length):for j in xrange(i + 1, length + 1):yield(string[i:j]) for i in get_all_substrings("abcde"):print i

最后是关于simple的讨论:

"not so simple" - stop. Before you go any further, please understand that simple is good. Simple is simple to understand, simple to maintain, and simple to debug. No one is going to reject your code because it's too simple. The simpler you can make your code, the better.

看来我还是too young, too simple了...

转载于:https://www.cnblogs.com/jaw-crusher/p/3607656.html

Python获取一个字符串所有连续子串相关推荐

  1. Python判断一个字符串是否包含子串的几种方法

    https://blog.csdn.net/yl2isoft/article/details/52079960

  2. 求一个字符串中连续出现的次数最多的子串

    求一个字符串中连续出现的次数最多的子串.例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复 ...

  3. 求一个字符串中连续出现次数最多的子串

    http://blog.csdn.net/imcdragon/article/details/6838565解答二 http://hi.baidu.com/icyday315/item/040aada ...

  4. python字符串是否包含某元素_Python实现判断一个字符串是否包含子串的方法总结...

    本文实例总结了Python实现判断一个字符串是否包含子串的方法.分享给大家供大家参考,具体如下: 1.使用成员操作符 in >>> s='nihao,shijie' >> ...

  5. 寻找一个字符串的重复子串 后缀数组

    什么是后缀数组 令字符串 S=S[1]S[2]...S[n]S=S[1]S[2]...S[n]{\displaystyle S=S[1]S[2]...S[n]} , S[i,j]S[i,j]{\dis ...

  6. String案例 获取一个字符串在另一个字符串中出现的次数(两种方法)

    /*思路:定义1个计数器和1个截取后的Str-->判断有无SS-->有就截取并计数-->直到截取完没有ss就停止*/ package Day12;/* 练习2 获取一个字符串在另一个 ...

  7. python定义一个字符串_Python基础之字符串

    初识字符串 字符串的认识 首先,我们先认识下什么是字符串:# 定义字符串 t_str1 = "Hello World" t_str2 = "asdfghh" p ...

  8. 如何在Python中将一个字符串附加到另一个字符串?

    我想要一种有效的方法在Python中将一个字符串附加到另一个字符串. var1 = "foo" var2 = "bar" var3 = var1 + var2 ...

  9. 获取一个字符串在另一个字符串中出现的次数

    题目说明: 获取一个字符串在另一个字符串中出现的次数.比如:获取"ab"在 "abkkcadkabkebfkaabkskab" 中出现的次数 public cl ...

最新文章

  1. 【CV】吴恩达机器学习课程笔记第11章
  2. Laravel的初始化安装
  3. 微软官方的.NET Framework API 参考网址
  4. matlab基于dct的图像压缩编码解码_基于FPGA的扩频系统设计(下)
  5. 梯度下降法,牛顿法,高斯-牛顿迭代法,附代码实现
  6. EHPC通过断点续算和自动伸缩在抢占式实例上实现低成本HPC计算
  7. C++ 中 struct 和 class
  8. 基于以太坊网络的智能合约开发、部署和测试(入门)
  9. mysql用户权限表join_MyBatis映射利用mysql left join 解决N+1查询问题
  10. qt 对话框位置如何确定_便利店如何确定收银台位置?
  11. securecrt delete键向后删除
  12. 《我和PIC单片机:基于PIC18》——2.2 MPLAB IDE集成开发环境
  13. glTF格式介绍——目录
  14. SUSCTF 2nd Dk Wrtie Up
  15. Redis高可用哨兵Sentinel
  16. JavaScript中classList属性和className的区别
  17. 织梦dedecms 仿制目标网站首页
  18. pymol配体平移与旋转
  19. 第十一课_编程语言发展史
  20. Visual Studio 找不到一个或多个组件,请重新安装该应用程序

热门文章

  1. 关于方程求根的解决方案
  2. Spring Boot快速搭建Spring框架
  3. 【ORACLE 高可用】 ORACLE STREAM 基于单表的流复制 配置 案例
  4. 关于Android Force Close 出现的原因 以及解决方法
  5. android图片编解码architecture
  6. 【Android】事件传递:向下拦截,向上处理
  7. HTML表单提交规则
  8. @responseBody注解的使用
  9. IDEA报错:Cannot resolve plugin org.apache.maven.plugins:*
  10. Asp.Net 数据分页