python处理字符串效率_Python字符串搜索效率
可能是当然是第二个,我认为在大字符串中搜索和在小字符串中搜索没有任何区别。由于行较短,您可能会跳过一些字符,但拆分操作也有其成本(搜索\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字符串搜索效率相关推荐
- python对象底层原理_Python字符串对象实现原理详解
在Python世界中将对象分为两种:一种是定长对象,比如整数,整数对象定义的时候就能确定它所占用的内存空间大小,另一种是变长对象,在对象定义时并不知道是多少,比如:str,list, set, dic ...
- [转载] python 字符串切片_Python字符串
参考链接: 如何在Python中索引和切片字符串string Python字符串 本章将介绍:1.字符串的3种表现形式2.字符串的输入与输出,索引与切片.3.字符串常用函数4.了解字符串的运算 在汉语 ...
- python统计字符串个数_python字符串中字符出现次数(python获取字符串个数)
原博文 2020-03-17 19:25 − 今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些 ...
- python字符串类型_python字符串类型介绍
一. 字符串的写法 1.单引号或双引号 二. 字符串是不会变的 1.字符串不会变,只会新增后再赋值 a = 'ABC' b = a a = 'XYZ' print(b) 结果还是ABC 三. 字符串的 ...
- python字符串功能_python字符串内置功能
str.capitalize() --> String 返回字符串,其首字母大写,其余部分小写 1>>> str = "TEST" 2>>> ...
- python不支持字符类型、单个字符也作为字符串使用_Python 字符串
Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' var ...
- python 字符串拼接_Python字符串拼接的6种方法(转)
add by zhj: 对于多行字符串连接,第6种连接方法很方便,连接时不会添加额外的空格. 1. 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此 ...
- python字符串添加_python字符串的增删改查
字符串增加 直接 + name = 'de8ug' city = 'beijing' info = name + ' ' + city info 'de8ug beijing' % 占位符替换 'na ...
- python字符串内建函数_python字符串内建函数
操作符描述实例 + 字符串连接 a + b 输出结果: HelloPython * 重复输出字符串 a*2 输出结果:HelloHello [] 通过索引获取字符串中字符 a[1] 输出结果 e [ ...
- python 定义字符串变量_python 字符串(1)
字符串 操练一下字符串吧. >>> print "good good study, day day up" good good study, day day up ...
最新文章
- matlab中normfit,MATLAB中如何得到一组统计数据的分布特征
- HDU 2282 Chocolate (最小费用最大流)
- 在游戏运营行业,Serverless 如何解决数据采集分析痛点?
- 全球与中国激光投影设备市场前景规划与发展战略建议报告2022-2028年版
- Python操作Redis中的hash
- NOIP练习赛题目5
- 电脑无法启动故障的10种解决方法
- 光学字符识别 android,基于Android的光学字符识别研究与实现
- 1.Office 365系列(-)
- 第k大的数python代码_Python实现查找数组中任意第k大的数字算法示例
- 网络掩码和子网掩码区别?
- 系统学习数字图像处理之彩色图像处理
- hpuoj 1689: MZY寻宝 【bfs】
- k8s pod 污点
- cubase外放有声音耳机没声音_为何CUBASE耳机内没有声音
- 【docker】虚拟化和docker容器概念
- php i pwd是什么意思,pwd命令符的意思
- 中国碎石设备行业市场供需与战略研究报告
- 前瞻-主流处理器中的数据并行支持(SIMD)
- 新浪微博互粉 http://weibo.com/51centos
热门文章
- mysql command line client 目标不对_简单几招提高MySQL安全性
- Applese 的回文串(加一个字符的回文)
- 1884: 三个家庭(思维题)
- 倒计时5天!云栖大会低代码峰会即将开幕!
- 入职阿里5年,他如何破解“技术债”?
- 高能玩家!硬核自制小程序云“肝”动森
- 阿里技术大牛最爱的“闲书”,你看过多少?
- 找不到redis得pid文件_电脑提示Windows找不到文件?试试这两个技巧,轻松解决!...
- 怪物行为树案例_Behavior Designer行为树(简单实现巡逻)
- C#-数组定义及使用数组的好处 046