Python 3 string.join() 等效?

Posted

技术标签:

【中文标题】Python 3 string.join() 等效?【英文标题】:Python 3 string.join() equivalent? 【发布时间】:2012-01-29 21:19:43 【问题描述】:

我一直在 python 2 中使用 string.join() 方法,但它似乎已在 python 3 中删除。python 3 中的等效方法是什么?

string.join() 方法让我可以将多个字符串组合在一起,并在每个字符串之间插入一个字符串。例如,string.join(("a", "b", "c"), ".") 将产生 "a.b.c"。

【问题讨论】:

string.join 在 Python 2 中已弃用。因此您也可以在 Python 2 中使用 '.'.join() 好吧,我会记住这一点的 :) @rubik 当然是,除非你 import string ;) @alavin89 很抱歉,我不明白你在说什么。 所有成为方法的字符串函数已被弃用。是否导入模块。 @rubrik string 方法已弃用,取而代之的是 str 方法。在大多数情况下,您想使用您的 pythonic '.'.join() 方法,但 str.join()(以前的 string.join())也有合法的 Pythonic 用途。例如,您有时希望 joining str 在运行时可配置,并希望将函数(连同 joining str)传递给字符串处理的其他元素或 NLP 管道。 【参考方案1】:

访问https://www.tutorialspoint.com/python/string_join.htm

s=" "
seq=["ab", "cd", "ef"]
print(s.join(seq))

ab cd ef

s="."
print(s.join(seq))

ab.cd.ef

【讨论】:

【参考方案2】:

str.join() 在 Python 3 中工作正常,您只需要正确获取参数的顺序

>>> str.join('.', ('a', 'b', 'c'))
'a.b.c'

【讨论】:

... 这是因为通常obj.method(args) 在技术上等同于objclass.method(obj, args)。我的+1。无论如何,Tim's 在 Python 中更常见。 好的,谢谢。我个人也尽可能使用@Tim 的方法。但有时在实例化分隔符字符串之前需要join 函数(传递给中间件构造函数、序列化程序等)。 @Dennis 正在寻找与 string.join 等效的 Python3,这是我所知道的唯一一个。 是的。我理解动机。这是绝对正确的;)【参考方案3】:

字符串对象有join方法:

".".join(("a","b","c"))

【讨论】:

【参考方案4】:

'.'.join()".".join().. 所以任何字符串 instance 都有方法 join()

【讨论】:

顺便说一句,你也应该使用 2.x 中的方法。

以上是关于Python 3 string.join() 等效?的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记

C ++中复杂结构的python 3中的等效数据结构

没有数学模块的Python 3中的天花板和地板等效?

Python 3.x 中的 PIL ImageTk 等效项

python中的join()函数的用法

[Java基础]StringUtils.join()方法与String.join()方法的使用