Программа Python для объединения строк с помощью нескольких разделителей
В этой статье мы узнаем, как объединять строки с помощью нескольких разделителей в Python.
Используемые методы
Ниже приведены различные методы выполнения этой задачи:
Использование функции List Comprehension и оператора «+»
Использование функции List Comprehension и join()
Пример
Предположим, мы взяли две входные строки и несколько списков разделителей. Теперь мы объединим обе входные строки с заданными входными разделителями и вернем результирующий список, используя вышеуказанные методы.
Вход
Input String 1: hello
Input String 2: tutorialspoint
delimitersList = ["-", "^", "%", "$", "#"]
Выход
Both the strings after joining with the input delimiters:
['hello-tutorialspoint', 'hello^tutorialspoint', 'hello%tutorialspoint', 'hello$tutorialspoint', 'hello#tutorialspoint']
В этом примере обе входные строки объединяются с заданными несколькими разделителями «-», «^», «%», «$» и «#», и возвращается новый список.
Метод 1: использование понимания списка и оператора «+»
Понимание списка
Если вы хотите создать новый список на основе значений существующего списка, понимание списка обеспечивает более короткий/лаконичный синтаксис.
Алгоритм (шаги)
Ниже приведены алгоритмы/шаги, которые необходимо выполнить для выполнения желаемой задачи.
Создайте переменную для хранения входной строки1.
Создайте еще одну переменную для хранения входной строки2.
Распечатайте обе входные строки.
Инициализируйте список, содержащий несколько разделителей.
Используйте оператор +, чтобы соединить обе строки с входными разделителями, проходя по списку разделителей с использованием понимания списка.
Распечатайте полученный список после объединения обеих строк с входными разделителями.
Пример
Следующая программа возвращает список после объединения обеих входных строк с входными разделителями с использованием понимания списка и оператора «+» –
# input string 1
inputString_1 = 'hello'
# input string 2
inputString_2 = "tutorialspoint"
# printing input string 1
print("Input String 1: ", inputString_1)
# printing input string 2
print("Input String 2: ", inputString_2)
# Creating a list containing multiple delimiters
delimitersList = ["-", "^", "%", "$", "#"]
print("Delimiters List is :", delimitersList)
# joining both the strings with the input delimiters using list comprehension
# Here + operator is used to concatenate the two input string
resultantList = [inputString_1 + d + inputString_2 for d in delimitersList]
# printing the resultant string
print("Both the strings after joining with the input delimiters:\n", resultantList)
Выход
При выполнении вышеуказанная программа сгенерирует следующий вывод:
Input String 1: hello
Input String 2: tutorialspoint
Delimiters List is : ['-', '^', '%', '$', '#']
Both the strings after joining with the input delimiters:
['hello-tutorialspoint', 'hello^tutorialspoint', 'hello%tutorialspoint', 'hello$tutorialspoint', 'hello#tutorialspoint']
Метод 2: использование функции List Comprehension и join()
Функция join() — join() — это строковая функция в Python, которая используется для объединения элементов последовательности, разделенных разделителем строк. Эта функция соединяет элементы последовательности для преобразования в строку.
Алгоритм (шаги)
Ниже приводится алгоритм/шаги, которые необходимо выполнить для выполнения желаемой задачи:
Инициализируйте список, содержащий несколько разделителей.
Пройдите по списку разделителей, используя понимание списка.
Соедините данные две строки с элементом списка в качестве разделителей, используя функцию join().
Распечатайте полученный список после объединения обеих строк с входными разделителями.
Пример
Следующая программа возвращает список после объединения обеих входных строк с входными разделителями с использованием понимания списка и функции join():
# input string 1
inputString_1 = 'hello'
# input string 2
inputString_2 = "tutorialspoint"
# printing input string 1
print("Input String 1: ", inputString_1)
# printing input string 2
print("Input String 2: ", inputString_2)
# creating a list containing multiple delimiters
delimitersList = ["-", "^", "%", "$", "#"]
print("Delimiters List is :", delimitersList)
# Join the two lists using the join function where
# We passed delimiter as the list element
resultantList = [d.join([inputString_1, inputString_2]) for d in delimitersList]
# printing the resultant list
print("Both the strings after joining with the input delimiters:\n", resultantList)
Выход
При выполнении вышеуказанная программа сгенерирует следующий вывод:
Input String 1: hello
Input String 2: tutorialspoint
Delimiters List is : ['-', '^', '%', '$', '#']
Both the strings after joining with the input delimiters:
['hello-tutorialspoint', 'hello^tutorialspoint', 'hello%tutorialspoint',
'hello$tutorialspoint', 'hello#tutorialspoint']
Временная и пространственная сложность для всех методов одинакова —
Временная сложность — O(n)
Пространственная сложность — O(n)
Заключение
В этой статье мы рассмотрели два различных метода объединения строк с несколькими разделителями, включая оператор + (оператор конкатенации) и функцию join(). Кроме того, мы узнали, как объединить список с помощью разделителя как элементы списка, используя понимание списка.