8种Python字符串拼接的方法,你知道几种?

柔光的暖阳◎ 2022-09-16 15:24 303阅读 0赞

一、join函数

join 是 python 中字符串自带的一个方法,返回一个字符串。使用语法为:

  1. sep.join(可迭代对象) --》 str
  2. # sep 分隔符 可以为空

将一个包含多个字符串的可迭代对象(字符串、元组、列表),转为用分隔符sep连接的字符串。

列表

列表必须为非嵌套列表,列表元素为字符串(str)类型

  1. list1 = ["123", "456", "789"]
  2. print(''.join(list1)) # '123456789'
  3. print('-'.join(list1)) # '123-456-789'

元组

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. tuple1 = ('abc', 'dd', 'ff')
  3. print(''.join(tuple1)) # 'abcddff'
  4. print('*'.join(tuple1)) # 'abc*dd*ff'

字符串

  1. str1 = "hello Hider"
  2. print(''.join(str1))
  3. print(':'.join(str1))
  4. # 'h:e:l:l:o: :H:i:d:e:r'

字典

默认拼接 key 的列表,取 values 之后拼接值。

  1. dict1 = { "a":1, "b":2, "c":3}
  2. print(''.join(dict1)) # 'abc'
  3. print('*'.join(dict1)) # 'a*b*c'
  4. # 拼接的是key
  5. # 值也必须是字符才可以拼接
  6. dict1 = { "a":1, "b":2, "c":3}
  7. print('*'.join(str(dict1.values())))
  8. # 'd*i*c*t*_*v*a*l*u*e*s*(*[*1*,* *2*,* *3*]*)' 否则

二、os.path.join函数

os.path.join函数将多个路径组合后返回,使用语法为:

  1. os.path.join(path1 [,path2 [,...]])

注:第一个绝对路径之前的参数将被忽略

  1. # 合并目录
  2. import os
  3. print(os.path.join('/hello/', 'good/boy/', 'Hider'))
  4. # '/hello/good/boy/Hider'

三、+ 号连接

最基本的方式就是使用 “+” 号连接字符串。

  1. text1 = "Hello"
  2. text2 = "Hider"
  3. print(text1 + text2) # 'HelloHider'

该方法性能差,因为 Python 中字符串是不可变类型,使用“+”号连接相当于生成一个新的字符串,需要重新申请内存,当用“+”号连接非常多的字符串时,将会很耗费内存,可能造成内存溢出。

四、连接成tuple(元组)类型

使用逗号“,”连接字符串,最终会变成 tuple 类型。

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. text1 = "Hello"
  3. text2 = "Hider"
  4. print(text1 , text2) # ('Hello', 'Hider')
  5. print(type((text1, text2))) # <class 'tuple'>

五、%s占位符 or format连接

借鉴C语言中的 printf 函数功能,使用%号连接一个字符串和一组变量,字符串中的特殊标记会被自动使用右边变量组中的变量替换。

  1. text1 = "Hello"
  2. text2 = "Hider"
  3. print("%s%s" % (text1, text2)) # 'HelloHider'

使用 format 格式化字符串也可以进行拼接。

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. text1 = "Hello"
  3. text2 = "Hider"
  4. print("{0}{1}".format(text1, text2)) # 'HelloHider'

六、空格自动连接

  1. print("Hello" "Hider")# 'HelloHider'

不支持使用参数代替具体的字符串,否则报错。

七、*号连接

这种连接方式相当于 copy 字符串,例如:

  1. text1 = "Hider"
  2. print(text1 * 5) # 'HiderHiderHiderHiderHider'

八、多行字符串连接()

Python遇到未闭合的小括号,自动将多行拼接为一行,相比3个引号和换行符,这种方式不会把换行符、前导空格当作字符。

  1. text = ('666'
  2. '555'
  3. '444'
  4. '333')
  5. print(text) # 666555444333
  6. print(type(text)) # <class 'str'>

结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!

Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者

【Python教程】全网最容易听懂的1000集python系统学习教程(答疑在最后四期,满满干货)

Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者

2021年Python最新最全100个爬虫完整案例教程,数据分析,数据可视化,记得收藏哦

发表评论

表情:
评论列表 (有 0 条评论,303人围观)

还没有评论,来说两句吧...

相关阅读

    相关 字符串拼接方式

    \+ 号拼接 通过`+`拼接是最常见的拼接方式,这个应该算是最简单的一种方式了,但是很遗憾得玩告诉你,阿里巴巴在他们的规范里面之处不建议在 for 循环里面使用 “+”

    相关 异步编程方式,知道?

    异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间。 比如:`「发送短信、邮件、异步更新等」`,这些都