问题描述

在解析文件的时候,需要将解析出来的数据字符串拼接成新的字符串。正常来说这个,过程是一个循环,不断拼接字符串。如果这个过程循环的次数不多的话,不同的方式拼接方式差别不大。如果循环次数超过10000次,你会发现明显的慢了。错误初始代码(简化版)如下:

class Processor(object):

def __init__(self):

self.outputStr=""

def __printContent(self):

for key,val in cmds.items():#10000个

self.outputStr=self.outputStr+val+" "*(self.__fieldWidthDict[key]-len(val))+"|"

拼接字符串的解决方式

直接通过(+)操作符拼接

>>> "Hello" + " " + "World" + "!"

"Hello World!"

使用这种方式进行字符串连接的操作效率低下,因为python中使用 + 拼接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当拼接字符串较多时自然会影响效率。其他语言也是这样的,比如说golang。不要自己管理内存的,就要小心这样的操作

通过str.join()方法拼接

>>> strlist = ["Hello", " ", "World", "!"]

>>> "".join(strl

python字符串连接操作-Python字符串拼接相关推荐

  1. python字符串连接操作-Python连接字符串过程详解

    这篇文章主要介绍了python连接字符串过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在python中,如果有多个字符串,想要连接在一起, ...

  2. python输入两个字符串连接起来_python字符串连接的多种方法

    python中有很多字符串连接方式,今天在写代码,顺便总结一下,从最原始的字符串连接方式到字符串列表连接,大家感受下 python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连 ...

  3. python中连接符_python字符串连接的几种方式总结

    本篇文章给大家分享的内容是关于python字符串连接的几种方式总结,有需要的朋友参考一下 python中有很多字符串连接方式,今天在写代码,顺便总结一下,从最原始的字符串连接方式到字符串列表连接,大家 ...

  4. c++ 字符串连接_C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, ...

  5. mysql之字符串连接操作

    字符串连接操作:(函数的参数就是需要连接的字符串值.可以有n个参数) 1.concat() 如果要连接的列中有一个为空,则返回整个连接字符串为空 例11: SELECT concat(last_nam ...

  6. 连接mysql数据库字符串_MySQL数据库中怎么将字符串连接操作

    MySQL数据库中怎么将字符串连接操作 发布时间:2020-11-30 09:54:14 来源:亿速云 阅读:68 作者:小新 小编给大家分享一下MySQL数据库中怎么将字符串连接操作,相信大部分人都 ...

  7. php字符串相关操作,PHP字符串常用操作

    常用操作有: PHP中有两个内建的函数:count() 和sizeof(),可以实现得到数组的长度 count($sttr);数组长度 字符串长度:strlen(string $a); 判断是否相同, ...

  8. matlab字符衔接,matlab字符串连接(多个字符串)的经验,matlab字符串

    matlab字符串连接(多个字符串)的经验,matlab字符串 参考 matlab中字符串连接的3种方法  文章,实验遇到的一些小白问题,如有问题希望大神们给予指导. Matlab中,两个或多个字符串 ...

  9. Python 高级网络操作 - Python Advanced Network Operations

    1 Python 高级网络操作 - Python Advanced Network Operations 2 3 Half Open Socket, 4 一个单向的 socket 被称为 half o ...

最新文章

  1. 如何高效的编写Verlog HDL——菜鸟版
  2. linux learning site
  3. C++ 模板详解(一)
  4. 实战项目---模拟商品采购中心信息平台
  5. PyTorch随笔-2
  6. 一张图看程序媛阿源的2021个人年度流水账
  7. Binary String Constructing(CF-1003B)
  8. 【转载】利用压缩网页来提升网站浏览速度
  9. 大文件上传服务器、支持超大文件HTTP断点续传实践总结
  10. mysql 主从同步 阻塞_如何解决主从数据库同步延迟问题?
  11. CentOS 编译 Nginx 服务
  12. ubuntu下常用的抓包软件_macOS下最常用也最好用的几款解压缩软件,你值得拥有...
  13. android开发我的新浪微博客户端-用户授权页面功能篇(3.2)
  14. P2P 网络核心技术:Gossip 协议
  15. 北斗三号频点_解码北斗三号:和前两代卫星相比,它有何不同?
  16. 【爬虫】微博数据采集
  17. intuitionistic fuzzy set 运算规则python实现
  18. 如何制作一个微信小程序【微信小程序是怎么做的】
  19. GitHub:30%的新增代码出自AI工具Copilot之手
  20. nginx某条日志详解

热门文章

  1. C语言strlen()函数用法
  2. 随心所欲——享受恬淡的心态
  3. js IP地址正则校验
  4. c++中计算2得n次方_南大专转本 2020年计算机考前模拟(A)
  5. JVM 运行时内存空间详解——元空间
  6. MIMICIV2.0版本Concepts自动生成
  7. Redis学习12之jedis的set时间测试
  8. 软件开发模型、软件设计模式、软件架构风格
  9. 开山之作造假!Science大曝Nature重磅论文学术不端,恐误导全球16年
  10. 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(八)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(一)