¿Equivalente de Python para la implosión de PHP?


Respuestas:


185

Utilice el método de unión de cadenas .

print ' '.join(['word1', 'word2', 'word3'])

Puede unir cualquier iterable (no solo el listusado aquí) y, por supuesto, puede usar cualquier cadena (no solo ' ') como delimitador.

Si quieres un orden aleatorio como dijiste en tu pregunta, usa Shuffle .


join () funciona muy bien si tiene una matriz de cadenas, pero si algún miembro de la matriz es int en lugar de una cadena, obtendrá un TypeError, la implosión de php no hace eso, incluso en modo estricto = / <?php declare(strict_types=1);var_dump(implode("glue",["startString",(int)123,"endString"]));le da string(31) "startStringglue123glueendString"pero en Python hacer "glue".join(["startString",123,"endString"]);te daTypeError: sequence item 1: expected str instance, int found
Hanshenrik

14

Bien, acabo de encontrar una función que hace lo que quería hacer;

Leí en un archivo con palabras en un formato como: Jack/Jill/my/kill/name/bucket

Luego lo dividí usando el split()método y una vez que tuve la palabra en una lista, concatené las palabras con este método:

concatenatedString = ' - '.join(myWordList)
# ie: delimeter.join(list)

3
No entiendo por qué quieres unirte. Primero tienes una línea, la divides en caracteres y luego la vuelves a unir. ¿Por qué no reemplaza a los personajes en primer lugar? (Se pierde la parte 'aleatoria' en su propia respuesta, ¿ya no es relevante?)
RvdK
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.