Как вернуть строку с X из первого списка, если X находится во втором списке?

#python #list #loops #for-loop

Вопрос:

У меня есть два списка. Первый-с прилагательными, а второй — с предложениями. Мне нужно вернуть предложение, если есть прилагательное из нашего списка, и записать предложение в словарь со значением = ‘adj’. Это вернулось бы ([«Хорошего дня»], «прил.»). Или, по крайней мере, если бы он мог просто вернуть предложение с соответствующим прилагательным.

sents_cleaned = [«хорошего дня», «не забудь свой желтый зонтик», «смелая чайка»] прилагательные = [«хороший», «красный», «зеленый», «желтый»]

Это то, что я пробовал до сих пор. Не сработало так, как ожидалось, извините, я новичок.

 for sents in sents_cleaned:
    sents = sents.strip().split(" ")
    for words in sents:
        for adj in adjectives:
            if adj in sents:
                print(sents)
 

Результатом будет [«хорошего дня», » прил.»],
[«не забудь свой желтый зонтик», «прил.»]

Комментарии:

1. Не могли бы вы также предоставить примеры ввода и вывода?

Ответ №1:

Предположим, вы хотите сохранить его в словаре под названием d, с предложениями в качестве ключей и прилагательными в качестве значений.

Следующий код предполагает, что вам нужно только 1 прилагательное из каждого предложения. Однако, если вам требуется несколько прилагательных, вам поможет ведение словаря строк в списке строк.

 d = dict()
for sents in sents_cleaned:
    sents = sents.strip().split(" ")
    for word in sents:
        if word in adjectives:
            d[sents] = word
print(d)