一、概述

Python 字符串连接场景较为普遍。由于编者对 Java 等语言较为熟悉,常常将两者语法混淆。

加之,Python 语法较为灵活。例如,单单实现字符串连接,就有数种方法。在此,一并归结!

二、字符串的连接方式

2.1 类 Java 式

hello = 'hello' + ' python'

使用场景:

适用于字符串相连。

特点:

之所以说python 中使用 + 进行字符串连接的操作效率低下,是因为python中字符串是不可变的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当连续相加的字符串很多时(a+b+c+d+e+f+...) ,效率低下就是必然的了

2.2 join 方法

listStr = ['hello', ' python']
hello = ''.join(listStr)

使用场景:

适用于字符串数组相连。

特点:

使用略复杂,但对多个字符进行连接时效率高,只会有一次内存的申请。

而如果是对list的字符进行连接的时候,这种方法必须是首选

注意:

若使用 join 进行两个字符串的连接,会出现意想不到的问题:



不过也不难理解,join 接受 iterable 的对象。

若向 join 传递字符串,Python 会将其解析成单个的字符再进行连缀,然后,返回连缀后的字符串 tuple

2.3 格式化

hello = '%s %s' % ('hello', ' python')

特点:

这种方法较为常用

2.4 "," 连接

hello = 'hello', ' python'

返回的结果是 tuple

三、性能比较

参见文章:

[python字符串连接的三种方法及其效率、适用场景详解][1]

[1]: http://www.cnblogs.com/chenjingyi/p/5741901.html

参考文章:

[python字符串连接的N种方式][http://www.cnblogs.com/dream397/p/3925436.html]

*此文在我的 Github Pages 上同步发布,地址为:Python 字符串连接问题归结

Python 字符串连接问题归结的更多相关文章

  1. 关于python字符串连接的操作

    python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...

  2. python 字符串连接

    字符串连接 方法1: 用字符串的join方法 a = ['a','b','c','d']content = ''content = ''.join(a)print content 方法2: 用字符串的 ...

  3. python字符串连接的三种方法及其效率、适用场景详解

    python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& ...

  4. Python字符串连接的5种方法

    总结了一下Python字符串连接的5种方法: 加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用 "+" 来连接两个字符串: ...

  5. python字符串连接的N种方式

    python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 st ...

  6. python字符串连接方式(转)

    在python中有很多字符串连接方式,今天就在这里具体总结一下: ①.最原始的字符串连接方式:str1 + str2②.python 新字符串连接语法:str1, str2③.奇怪的字符串方式:str ...

  7. Python学习笔记--Python字符串连接方法总结

    声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的 ...

  8. Python字符串连接方式

    python中有很多字符串连接方式,总结一下: 1 最原始的字符串连接方式:str1 + str22 python 新字符串连接语法:str1, str23 奇怪的字符串方式:str1 str24 % ...

  9. python字符串连接的N种方式总结

    python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2python 新字符串连接语法:str1, str2奇怪的字符串方式:str1 str2 ...

随机推荐

  1. JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language

    JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据 ...

  2. HTML 中框架、层的运用

    本章目标:掌握框架结构<frameset><frame><iframe> 掌握组织元素:span和div 本章重点:框架结构<frameset>< ...

  3. 带圈星号用MathType可以编辑出来吗

    对于很多的数学领域的人来说,大家都知道数学符号往往并不是单一的,常常会出现在不同的场景下有不同的符号要求.比如带星号的运算符号,加减乘除等.对于乘号来说,有点乘叉乘和星乘三种,下面本MathType教 ...

  4. RequireJS禁止缓存

    通过配置文件可以禁止加载缓存的JS文件, 这个在开发过程中非常有用具体做法如下 require.config({ paths: { "E":"/Scripts/MyMod ...

  5. PatternSyntaxException:Syntax error in regexp pattern

    Caused by: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1:      ...

  6. Eclipse获取签名证书的SHA1

    签名后的获取方式 :http://jingyan.baidu.com/article/3ea51489da3bc252e71bba59.html 未签名的获取方式:http://www.th7.cn/ ...

  7. OpenvSwitch2.4.0源码解读

    原文发表在我的博客主页,转载请注明出处! 一.前言 OpenvSwitch,虚拟交换机,以下简称OVS,是云计算和SDN领域非常重要的一个开源交换机,如果需要深入研究云计算和SDN的数据平面,读懂OV ...

  8. iOS设置导航栏透明度

    As I support Colin's answer, I want to give you an additional hint to customize the appearance of an ...

  9. PAT 1013 Battle Over Cities(并查集)

    1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...

  10. Centos6.5 DNS配置

    服务器端:192.168.186.130 1.安装 # yum -y install bind* 2.主要配置文件 [root@localhost named]# vim /etc/named.con ...