@stoleth3e

Как мне вывести все строки содержащие каждое слово из моего запроса?

У меня есть строки:
Владимир Иванович Романчук
Романчук Владимир Иванович
Романчук Владимир Иванович Владимир Иванович
Владимир Демидович Романчук
Владимир Демидович Васильевич

И запрос:
Романчук Владимир Иванович

Как мне вывести все строки содержащие каждое слово из моего запроса?
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dima20155
you don't choose c++. It chooses you
Очевидно, ты можешь сложить их в set, а после сравнить равны ли эти сеты или нет, но сравнивать придется поэлементно.
Получаем что-то вроде
str = "Романчук Владимир Иванович"
S1 = str.split("\n")
for i in input_strs:
  S2 = i.split("\n")
  If len(S1) == len(S2):
    for word in S1:
       If word not in S2:
           break;
    else:
       print("good job")
Ответ написан
Комментировать
sanya84
@sanya84
Фанатик Python 3
Python 3.10.0 (tags/v3.10.0:b494f59, Oct  4 2021, 19:00:18) [MSC v.1929 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.8.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: list_data = ["Владимир Иванович Романчук",
   ...:    ...: "Романчук Владимир Иванович",
   ...:    ...: "Романчук Владимир Иванович Владимир Иванович",
   ...:    ...: "Владимир Демидович Романчук",
   ...:    ...: "Владимир Демидович Васильевич"]

In [2]: search_line = "Романчук Владимир Иванович"

In [3]: results = set([string for string in list_data for word in search_line if word in string])

In [4]: print(results)
{'Владимир Демидович Васильевич', 'Романчук Владимир Иванович', 'Владимир Иванович Романчук', 'Владимир Демидович Романчук', 'Романчук Владимир Иванович Владимир Иванович'}

In [5]:
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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