Python join()函数使用详解

这篇具有很好参考价值的文章主要介绍了Python join()函数使用详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

join() 可以将元素按照分隔符「拼接」成新的字符串。

语法

string.join( Iterable[str] )

参数

  • Iterable[str] :(必选,可迭代的序列)要拼接的元素

返回值

  • 返回拼接后的新字符串

实例:用*将数组中的字符串拼接在一起

print('*'.join(['1', '2', '3']))

输出:

1*2*3

1、参数要求

1) join() 只接收「一个参数」,否则会报错 TypeError: join() takes exactly one argument

Python join()函数使用详解,Python,python,网络安全,机器学习,人工智能

2)接收的参数必须是「可迭代对象」(有__iter__方法的对象),否则会报错 TypeError: can only join an iterable

Python join()函数使用详解,Python,python,网络安全,机器学习,人工智能

3)参数是可迭代对象时,里面的所有「元素」都必须是「字符串类型」,否则会报错 TypeError: sequence item 0: expected str instance

Python join()函数使用详解,Python,python,网络安全,机器学习,人工智能

源码中也写明了,给的是一个字符串(Python内置函数看不到具体源码,只有描述)。

Python join()函数使用详解,Python,python,网络安全,机器学习,人工智能


2、拼接不同的数据类型

join() 可以拼接列表、元组、字典等可迭代序列,但拼接的情况并非完全相同。

2.1、字符串

「字符串」也是可迭代序列,拼接时,会逐个「字符」拼接

print('*'.join('abc123'))

输出:

a*b*c*1*2*3

2.2、列表

拼接「列表」时,会逐个「元素」进行拼接

print('*'.join(['aa', 'bb', 'c']))

输出:

aa*bb*c

2.3、元组

拼接「元组」时,也是逐个「元素」进行拼接

print('*'.join(('aa', 'bb', 'c')))

输出:

aa*bb*c

2.4、字典

拼接「字典」时,只会拼接「键」,而不拼接「值」;即使有非字符串类型的值,也不会报错

print('*'.join({'key1': 'value1', 'key2': 2}))

输出:

key1*key2

3、join和+的区别?

面试可能会问, join() +都可以拼接字符串,但 join() 的拼接「效率」+要快很多。

首先,字符串是「不可变」的,拼接字符串得开辟新的内存空间,用来存储拼接后的字符串。

+ 在拼接字符串时,会先开辟内存空间,把拼接后的字符串放进去,每一个 + 都会开辟一次内存空间。

join() 拼接字符串时,会提前算好需要开辟多大的空间,然后申请内存,把拼接后的字符串放进去,无论拼接多少字符串,都只开辟一次内存空间。

我们用代码验证一下两者的拼接效率

import time

list1 = ['test str' for n in range(1000000)]

start_time = time.time()
a = ''
for i in list1:
    a = a + i
end_time = time.time()
print(end_time - start_time)

start_time = time.time()
b = ''.join(list1)
end_time = time.time()
print(end_time - start_time)

输出:

8.9302077293396
0.019005537033081055

综上所诉,+ 会消耗更多的临时内存,并且数据量越大,效率越低。文章来源地址https://www.toymoban.com/news/detail-532035.html

到了这里,关于Python join()函数使用详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Python/网络安全] Git漏洞之Githack工具基本安装及使用详析

    Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。 然而,在配置不当的情况下,可能会导致 .git 文件夹被直接部署到线上环境中,这可能会导致

    2024年02月10日
    浏览(39)
  • 【Python/网络安全】 Git漏洞之Githack工具基本安装及使用详析

    Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代码库。 然而,在配置不当的情况下,可能会导致 .git 文件夹被直接部署到线上环境中,这可能会导致

    2024年02月05日
    浏览(43)
  • 【网络安全带你练爬虫-100练】第19练:使用python打开exe文件

    目录 一、目标1:调用exe文件 二、目标2:调用exe打开文件 1、subprocess 模块允许在 Python 中启动一个新的进程,并与其进行交互 2、subprocess.run() 函数来启动exe文件 3、subprocess.run([\\\"文件路径\\\"],check=True/) 4、check:如果程序返回一个非零的退出码,subprocess.run() 函数就会抛出一个

    2024年02月11日
    浏览(43)
  • Python print()函数使用详解,Python打印输出

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 print() 可以 「打印输出」 ,常用来将内容 「打印」 到控制台。 语法 参数

    2024年02月11日
    浏览(60)
  • Python isalnum()函数使用详解

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 isalnum() 可以判断字符串的字符是否全都是 「字母」 和 「数字」 。 语法 返回值 字符串中所有字符都是数字或

    2024年02月16日
    浏览(31)
  • python 使用enumerate()函数详解

    enumerate()是python的内置函数,将一个可遍历 iterable 数据对象(如list列表、tuple元组或str字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。 函数返回一个enumerate对象,是一个可迭代对象。具体元素值可通过遍历取出。 函数语法为: 语法: enumerate

    2024年02月12日
    浏览(78)
  • Python endswith()函数使用详解

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 endwith() 可以 「判断」 字符串是否以指定内容 「结尾」 。 语法 参数 str :(必选,字符串或元组)指定字符

    2024年02月16日
    浏览(31)
  • Python find()函数使用详解

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 find() 可以 「检测」 字符串中是否 「包含指定字符串」 语法 参数 str :(必选)指定需要检测的字符串 star

    2024年02月12日
    浏览(30)
  • Python capitalize()函数使用详解,Python首字母大写

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 capitalize() 可以将字符串的 「首字母大写」 语法 返回值 返回首字母大写的 「新字符串」 实例:将字符串的首

    2024年02月13日
    浏览(43)
  • Python 集合 union()函数使用详解,Python合并集合

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 union() 可以 「合并」 集合 语法 参数 set :(必选)需要合并的集合 返回值 返回一个合并后的新集合 实例:合

    2024年02月16日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包