2011-12-29 26 views
41

He estado usando el método string.join() en python 2 pero parece que se ha eliminado en python 3. ¿Cuál es el método equivalente en python 3?Python 3 string.join() equivalente?

método string.join() permítame combinar múltiples cadenas junto con una cadena entre cada una de las demás cadenas. Por ejemplo, string.join (("a", "b", "c"), ".") Daría como resultado "a.b.c.".

+6

'string.join' está en desuso en Python 2. Así que usaría' '.'. Join() 'también en Python 2. – rubik

+0

Bien, lo tendré en cuenta :) – Dennis

+0

@rubik eso es, por supuesto, a menos que 'importe la cadena ';) – BoltzmannBrain

Respuesta

45

'.'.join() o ".".join() .. Así que cualquier cadena instancia tiene el método join()

+3

Por cierto, deberías estar usando los métodos en 2.x también. – delnan

13

Hay join método para objetos de cadena:

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

17

str.join() funciona bien en Python 3, sólo tiene para obtener el orden correcto de los argumentos

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

... y eso es porque generalmente 'obj.method (args)' es técnicamente equivalente al 'objclass.método (obj, args) '. Mi +1. De todos modos, el Tim es más habitual en Python. – pepr

+0

Sí, gracias. Yo personalmente uso el enfoque de @ Tim también, cuando puedo. Pero a veces se necesita la función 'join' antes de tener la cadena delimitadora instanciada (para pasarla a un constructor de middleware, serializador, etc.). Y @Dennis estaba buscando el equivalente de Python3 a 'string.join', y este es el único que conozco. – hobs

+0

Sí. Entiendo la motivación Esto es absolutamente correcto;) – pepr