Поиск по сайту:

Программа 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(). Кроме того, мы узнали, как объединить список с помощью разделителя как элементы списка, используя понимание списка.

Статьи по данной тематике: