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"]))
"_".join(map(str, tuple))
or trough comprehension "_".join([str(x) for x in tuple])
–
Narva 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)
© 2022 - 2024 — McMap. All rights reserved.
<?php declare(strict_types=1);var_dump(implode("glue",["startString",(int)123,"endString"]));
gives youstring(31) "startStringglue123glueendString"
but in python doing"glue".join(["startString",123,"endString"]);
gives youTypeError: sequence item 1: expected str instance, int found
– Counterpoison