Python equivalent for PHP's implode?

Solution 1:

Use the strings join-method.

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

You can join any iterable (not only the list used here) and of course you can use any string (not only ' ') as the delimiter.

If you want a random order like you said in your question use shuffle.


In the comment there was the question why Python throws an error if you do "glue".join(["startString", 123, "endString"]). join operates on an iterable of strings. There is no implicit type conversion in Python.

But of course there is a solution. Just do the conversion yourself.

"glue".join(map(str, ["startString",123,"endString"]))

Solution 2:

Okay I've just found a function that does what I wanted to do;

I read in a file with words in a format like: Jack/Jill/my/kill/name/bucket

I then split it up using the split() method and once I had the word into an list, I concatenated the words with this method:

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