Эквивалент Python для взрыва PHP?


103

Есть ли эквивалент взрыва PHP в Python? Я прочитал и разделил набор слов с разделителями, и теперь я хочу отсортировать их в случайном порядке и распечатать слова с пробелами между ними.

implode - объединяет элементы массива строкой

http://php.net/manual/en/function.implode.php

Ответы:


186

Используйте метод соединения строк .

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

Вы можете присоединиться к любому итерируемому (не только listиспользуемому здесь), и, конечно, вы можете использовать любую строку (не только ' ') в качестве разделителя.

Если вам нужен случайный порядок, как вы сказали в своем вопросе, используйте перемешивание .


join () отлично работает, если у вас есть массив строк, но если какой-либо член массива является int вместо строки, вы получите TypeError, php implode этого не делает, даже в строгом режиме = / <?php declare(strict_types=1);var_dump(implode("glue",["startString",(int)123,"endString"]));дает вам string(31) "startStringglue123glueendString"но в "glue".join(["startString",123,"endString"]);TypeError: sequence item 1: expected str instance, int found
питоне

14

Хорошо, я только что нашел функцию, которая делает то, что я хотел;

Я читаю файл со словами в таком формате: Jack/Jill/my/kill/name/bucket

Затем я разделил его с помощью этого split()метода, и как только слово у меня было в списке, я объединил слова с помощью этого метода:

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

3
Я не понимаю, почему ты хочешь присоединиться. Сначала у вас есть строка, вы разбиваете ее на символы, а затем снова присоединяете к ней. Почему бы вам не заменить персонажей в первую очередь? (Вы пропустили «случайную» часть в своем ответе, она больше не актуальна?)
RvdK
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.