Python 3 string.join()是否等效?


73

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

string.join()方法使我可以将多个字符串与其他每个字符串之间的字符串组合在一起。例如,string.join(((“ a”,“ b”,“ c”),“。”)将得到“ abc”。


8
string.join在Python 2中已弃用。因此您也将'.'.join()在Python 2中使用。
rubik 2011年

好吧,我会记住这一点:)
丹尼斯,

@rubik当然是除非您import string;)
BoltzmannBrain

@ alavin89对不起,但我不明白您在说什么。不推荐使用所有成为方法的字符串函数。是否导入模块。
rubik

1
string不推荐使用@rubrik方法,而推荐使用str方法。在大多数情况下,您都想使用pythonic'.'.join()方法,但是str.join()(以前string.join())也有合法的pythonic用法。例如,有时您希望联接str在运行时是可配置的,并且想要将函数(以及联接str)传递给字符串处理或NLP管道的其他元素。
滚刀

Answers:


72

'.'.join()".".join()..因此,任何字符串实例都具有该方法join()


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

33

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

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

4
...这是因为通常obj.method(args)在技​​术上与...等效objclass.method(obj, args)。我的+1。无论如何,Tim在Python中更为常见。
pepr 2014年

1
是的,谢谢。如果可以,我个人也使用@Tim的方法。但是有时您需要在join实例化定界符字符串之前传递函数(传递给中间件构造函数,序列化程序等)。@Dennis正在寻找与等效的Python3 string.join,这是我所知道的唯一一个。
滚刀

是。我了解动机。这是绝对正确的;)
pepr 2014年

14

join用于字符串对象的方法:

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.