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() 等效?的主要内容,如果未能解决你的问题,请参考以下文章