Как я могу создать функцию, которая выполняет поиск по двум спискам, добавляя заполнитель, например « », или «отсутствующий элемент» в список, где элемент отсутствует?

import re

list1 = ["I'm driving your car with you sleeping in the seat next to me", 'Like a baby, you twist and you turn', "You're travelling fast like a bird in a dream", 'Look at it go, look at it dance over the sky like a rocket', 'A love machine, a cinematic dream', 'So pure and it hurts when the beauty is lost in the speed', "'Cause everything matters to me", '(To me, to me, to me, to me)', 'To me', "You're a part of the dawn where the light comes from the dark", "You're a part of the morning and everything matters", 'And we are an atom and a star', "You're a part of the movement and everything matters", '(To me, to me, to me, to me)', "I'm watching your storm turn into form", 'And the clouds of the world like a burst', 'It dances and it twirls', 'On top of the world, it is good and it hurts', 'Look at it go, look at it dance over the sky like a rocket', 'A teacher, a simulated dream', 'A cure, a cure for the hurt', 'And the pleasure you feel is real', "You're a part of the dawn where the light comes from the dark", "You're a part of the morning and everything matters", 'And we are an atom and a star', "You're a part of the movement and everything matters", '(To me, to me, to me, to me)', '(To me, to me, to me, to me, to me)', "Quelque part, avant l'aube", 'Quand la lumière veut nous voir', "Quelque part dans le monde un oiseau s'endort", 'Sans bruit, toi et moi', 'Dans la nuit on trouvera', "Quelque part où déposer les fleurs qu'on a cueillies", "Pars avant l'aube", 'Quand la lumière veut nous voir', "Quelque part dans le monde un oiseau s'endort", 'Sans bruit, toi et moi', 'Dans la nuit on trouvera', "Quelque part où déposer les fleurs qu'on a cueillies", "Pars avant l'aube", 'Quand la lumière veut nous voir', "Quelque part dans le monde un oiseau s'endort", 'Sans bruit, toi et moi', 'Dans la nuit on trouvera', 'Quelque part où déposer les fleurs']

list2 = ["I'm driving your car with you sleeping in the seat next to me", 'Like a baby, you twist and you turn', "You're travelling fast like a bird in a dream", 'Look at it go, look at it dance over the sky like a rocket', 'A love machine, a cinematic dream', 'So pure and it hurts when the beauty is lost in the speed', "'Cause everything matters to me", '(To me, to me, to me, to me)', 'To me', "You're a part of the dawn where the light comes from the dark", "You're a part of the morning and everything matters", 'And we are an atom and a star', "You're a part of the movement and everything matters", "I'm watching your storm turn into form", 'And the clouds of the world like a burst', 'It dances and it twirls', 'On top of the world, it is good and it hurts', 'A teacher, a simulated dream', 'A cure, a cure for the hurt', 'And the pleasure you feel is real', '(To me, to me, to me, to me, to me)', "Quelque part, avant l'aube", 'Quand la lumière veut nous voir', "Quelque part dans le monde un oiseau s'endort", 'Sans bruit, toi et moi', 'Dans la nuit on trouvera', "Quelque part où déposer les fleurs qu'on a cueillies", "Pars avant l'aube", 'Quelque part où déposer les fleurs']

list3 = ["I'm driving your car with you sleeping in the seat next to me", 'Like a baby, you twist and you turn', "You're travelling fast like a bird in a dream", 'Look at it go, look at it dance over the sky like a rocket', 'A love machine, a cinematic dream', 'So pure and it hurts when the beauty is lost in the speed', "'Cause everything matters to me", '(To me, to me, to me, to me)', 'To me', "You're a part of the dawn where the light comes from the dark", "You're a part of the morning and everything matters", 'And we are an atom and a star', "You're a part of the movement and everything matters", " ", "I'm watching your storm turn into form", 'And the clouds of the world like a burst', 'It dances and it twirls', 'On top of the world, it is good and it hurts', ' ', 'A teacher, a simulated dream', 'A cure, a cure for the hurt', 'And the pleasure you feel is real', ' ', ' ', ' ', ' ', ' ', '(To me, to me, to me, to me, to me)', "Quelque part, avant l'aube", 'Quand la lumière veut nous voir', "Quelque part dans le monde un oiseau s'endort", 'Sans bruit, toi et moi', 'Dans la nuit on trouvera', "Quelque part où déposer les fleurs qu'on a cueillies", "Pars avant l'aube", ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'Quelque part où déposer les fleurs']

List1 — это полный список. В нем есть все линии. Список2, однако, является неполным списком. У него есть некоторые строки в list1, однако некоторые строки отсутствуют. List3 - это то, как должен выглядеть результат. Теперь, как мне создать функцию, которая ищет в списках List1 и List2, когда она находит строку не в list2, вставляет заполнитель ' ', чтобы в конце всего вывод был именно List3. Пожалуйста помоги.

Предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Community 23.04.2022 10:42

Пожалуйста, сократите пример, например, до ["a", "b", ...]

Mateen Ulhaq 23.04.2022 10:43

@MateenUlhaq Точно. Я собирался напечатать это

Rohit Babu 23.04.2022 10:50
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
3
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам нужно пройтись по списку1 и списку2 параллельно, и все время есть совпадение - добавить в список3. Если совпадений нет - добавьте заполнитель и перейдите вперед в списке1. Я предполагаю, что это будет что-то вроде этого:

list_result = []
i = 0
j = 0
while i < len(list1) and j < len(list2):
    if list1[i] == list2[j]:
        list_result.append(list1[i])
        i += 1
        j += 1
    else:
        list_result.append(' ')
        i += 1
diff = len(list1) - len(list_result)
for k in range(diff):
    list_result.append(' ')

вы можете поиграть со следующим, чтобы получить более конкретный ответ

def missing_words(list1, list2):
    for i in range(len(list1)):
        if list1[i] != list2[i]:
           list2.insert(i,  ' ')

missing_words(list1, list2)
if list2==list3:
    print("yess")

возврат не обязательно требуется, потому что список 2 изменяется после использования функции, но в зависимости от необходимости и ситуации вы можете легко изменить код, я думаю, что я достаточно хорошо объяснил концепцию

mher 23.04.2022 11:30

если последний элемент отсутствует, этот код вызывает IndexError

Hoxha Alban 23.04.2022 11:37

Другие вопросы по теме