ifullut
@ifullut
Учу программирование понарошку...

Как разбить строку на символы и собрать из них слова в Python?

Всем привет, столкнулся с проблемой: есть строка, ее нужно разбить на символы и собрать из них слова (слова лежат в списке)
То есть к примеру строка helloworld программа ее разбивает на символы (к примеру метод list()) и потом как-то собирает слова (А слова находятся в списке: ["hello", "world"]). Конечно, это выглядит, что надо найти слова в строке и это можно сделать с помощью метода find(), но это не то, что мне нужно.

Примеры работы:
1) И так имеем строку helloworld и список из двух элементов: hello и world. Если программа находит оба слова то она выводит:
Найдено: hello world.
2) Имеем строку redcube и список из одного элемента: cube. Как видим в строке есть два слова: red и cube. Программа должна вывести следующее:
Найдено: cube.
Неизвестное: red

3) Имеем строку cocacolacool и список из трёх элементов: cocacola, is, cool. Как видим из всей строки совпадает только два слова: cocacola и cool. И также не найденое слово is.
Поэтому программа следовательно выведет следующее:
Найдено: cocacola cool.
Не найдено: is

4) имеем строку mynameissasha и список: hello, my, name, is. Как видим здесь имеется слова: my, name, is. Одно не найденое: hello и также неизвестное sasha. Следовательно программа выводит это:
Найдено: my name is
Не найдено: hello
Неизвестное: sasha


То есть вот примерный код:
my = "helloworld"
words = ["hello", "world"]
my_copy = list(my) #h, e, l, l, o, w, o, r, l, d
def connect (list):
    #чтото
connect(my_copy)
#выводит — Найдено: hello world
  • Вопрос задан
  • 2620 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Возможно что-то вроде

s = 'mynameissasha'

words = ['hello', 'my', 'name', 'is']

found = []
not_found = []

for word in words:
    if word in s:
        found.append(word)
        s = s.replace(word, ' ')
    else:
        not_found.append(word)

print('Найдено:', found)
print('Не найдено:', not_found)
print('Неизвестно:', s.split())
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Mi11er
@Mi11er
A human...
из быстрого
string = "mynameissasha"
words = ["hello", "my", "name", "is"]

for w in words:
    if w in string:
        print(w)



my
name
is
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы