Is there an equivalent for PHP's implode in Python? I've read in and split up a set of delimited words, and now I want to sort them out in random orders and print the words out with spaces in between.
implode — Join array elements with a string
Is there an equivalent for PHP's implode in Python? I've read in and split up a set of delimited words, and now I want to sort them out in random orders and print the words out with spaces in between.
implode — Join array elements with a string
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"]))
<?php declare(strict_types=1);var_dump(implode("glue",["startString",(int)123,"endString"])); gives you string(31) "startStringglue123glueendString" but in python doing "glue".join(["startString",123,"endString"]); gives you TypeError: sequence item 1: expected str instance, int found"_".join(map(str, tuple)) or trough comprehension "_".join([str(x) for x in tuple])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)