可能是当然是第二个,我认为在大字符串中搜索和在小字符串中搜索没有任何区别。由于行较短,您可能会跳过一些字符,但拆分操作也有其成本(搜索\n,创建n个不同的字符串,创建列表),循环是在python中完成的。

string__contain__方法是用C实现的,因此速度明显更快。

还可以考虑,一旦找到第一个匹配项,第二个方法就会终止,但第一个方法在开始搜索字符串内部之前会将所有字符串分割开来。

这一点通过一个简单的基准得到了迅速的证明:import timeit

prepare = """

with open('bible.txt') as fh:

text = fh.read()

"""

presplit_prepare = """

with open('bible.txt') as fh:

text = fh.read()

lines = text.split('\\n')

"""

longsearch = """

'hello' in text

"""

splitsearch = """

for line in text.split('\\n'):

if 'hello' in line:

break

"""

presplitsearch = """

for line in lines:

if 'hello' in line:

break

"""

benchmark = timeit.Timer(longsearch, prepare)

print "IN on big string takes:", benchmark.timeit(1000), "seconds"

benchmark = timeit.Timer(splitsearch, prepare)

print "IN on splitted string takes:", benchmark.timeit(1000), "seconds"

benchmark = timeit.Timer(presplitsearch, presplit_prepare)

print "IN on pre-splitted string takes:", benchmark.timeit(1000), "seconds"

结果是:IN on big string takes: 4.27126097679 seconds

IN on splitted string takes: 35.9622690678 seconds

IN on pre-splitted string takes: 11.815297842 seconds

python处理字符串效率_Python字符串搜索效率相关推荐

  1. python对象底层原理_Python字符串对象实现原理详解

    在Python世界中将对象分为两种:一种是定长对象,比如整数,整数对象定义的时候就能确定它所占用的内存空间大小,另一种是变长对象,在对象定义时并不知道是多少,比如:str,list, set, dic ...

  2. [转载] python 字符串切片_Python字符串

    参考链接: 如何在Python中索引和切片字符串string Python字符串 本章将介绍:1.字符串的3种表现形式2.字符串的输入与输出,索引与切片.3.字符串常用函数4.了解字符串的运算 在汉语 ...

  3. python统计字符串个数_python字符串中字符出现次数(python获取字符串个数)

    原博文 2020-03-17 19:25 − 今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些 ...

  4. python字符串类型_python字符串类型介绍

    一. 字符串的写法 1.单引号或双引号 二. 字符串是不会变的 1.字符串不会变,只会新增后再赋值 a = 'ABC' b = a a = 'XYZ' print(b) 结果还是ABC 三. 字符串的 ...

  5. python字符串功能_python字符串内置功能

    str.capitalize() --> String 返回字符串,其首字母大写,其余部分小写 1>>> str = "TEST" 2>>> ...

  6. python不支持字符类型、单个字符也作为字符串使用_Python 字符串

    Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var ...

  7. python 字符串拼接_Python字符串拼接的6种方法(转)

    add by zhj: 对于多行字符串连接,第6种连接方法很方便,连接时不会添加额外的空格. 1. 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此 ...

  8. python字符串添加_python字符串的增删改查

    字符串增加 直接 + name = 'de8ug' city = 'beijing' info = name + ' ' + city info 'de8ug beijing' % 占位符替换 'na ...

  9. python字符串内建函数_python字符串内建函数

    操作符描述实例 + 字符串连接 a + b 输出结果: HelloPython * 重复输出字符串 a*2 输出结果:HelloHello [] 通过索引获取字符串中字符 a[1] 输出结果 e [ ...

  10. python 定义字符串变量_python 字符串(1)

    字符串 操练一下字符串吧. >>> print "good good study, day day up" good good study, day day up ...

最新文章

  1. matlab中normfit,MATLAB中如何得到一组统计数据的分布特征
  2. HDU 2282 Chocolate (最小费用最大流)
  3. 在游戏运营行业,Serverless 如何解决数据采集分析痛点?
  4. 全球与中国激光投影设备市场前景规划与发展战略建议报告2022-2028年版
  5. Python操作Redis中的hash
  6. NOIP练习赛题目5
  7. 电脑无法启动故障的10种解决方法
  8. 光学字符识别 android,基于Android的光学字符识别研究与实现
  9. 1.Office 365系列(-)
  10. 第k大的数python代码_Python实现查找数组中任意第k大的数字算法示例
  11. 网络掩码和子网掩码区别?
  12. 系统学习数字图像处理之彩色图像处理
  13. hpuoj 1689: MZY寻宝 【bfs】
  14. k8s pod 污点
  15. cubase外放有声音耳机没声音_为何CUBASE耳机内没有声音
  16. 【docker】虚拟化和docker容器概念
  17. php i pwd是什么意思,pwd命令符的意思
  18. 中国碎石设备行业市场供需与战略研究报告
  19. 前瞻-主流处理器中的数据并行支持(SIMD)
  20. 新浪微博互粉 http://weibo.com/51centos

热门文章

  1. mysql command line client 目标不对_简单几招提高MySQL安全性
  2. Applese 的回文串(加一个字符的回文)
  3. 1884: 三个家庭(思维题)
  4. 倒计时5天!云栖大会低代码峰会即将开幕!
  5. 入职阿里5年,他如何破解“技术债”?
  6. 高能玩家!硬核自制小程序云“肝”动森
  7. 阿里技术大牛最爱的“闲书”,你看过多少?
  8. 找不到redis得pid文件_电脑提示Windows找不到文件?试试这两个技巧,轻松解决!...
  9. 怪物行为树案例_Behavior Designer行为树(简单实现巡逻)
  10. C#-数组定义及使用数组的好处 046