#python #list
#python #Список
Вопрос:
Я пытаюсь выполнить итерацию по моему списку «sents». Если мой другой список «еда» содержит элемент в списке «sents», я хочу добавить значение из списка «еда» в «результат», а если нет, добавить none.
Что у меня есть до сих пор:
result = []
sents = ['I love pizza. its my favorite', 'lets go get a sub', 'I just want a big fat steak']
food = ['sub', 'pizza', 'burger', 'noodles', 'candy']
Я знаю, что это должно быть просто, но я не могу понять, как это сделать. Я попытался сделать следующее:
for x in sents:
for z in food:
if z in x:
result.append(z)
else:
result.append("None")
Но это, очевидно, добавляет элемент для каждого элемента списка в food.
Я пытаюсь получить свой список «результат», который будет выглядеть так:
result = ['pizza', 'sub', 'none']
Любая помощь будет с благодарностью принята.
Комментарии:
1. Вы должны попытаться написать код, чтобы иметь конкретную проблему с кодированием, как того требует этот сайт.
Ответ №1:
Сначала вам нужно будет проанализировать ваш sents list
и найти ключевые слова ( food
). После нахождения этих ключевых слов вы можете добавить их в список результатов. Это моя точка зрения, исходя из другого языка программирования. Вам придется реализовать эту теорию на Python. (Я бы прокомментировал, но недостаточно очков репутации)
Комментарии:
1. Спасибо за ввод, Ренан!
Ответ №2:
Вы можете попробовать с этим..
result = []
sents = ['I love pizza. its my favorite', 'lets go get a sub', 'I just want a big fat steak']
food = ['sub', 'pizza', 'burger', 'noodles', 'candy']
for lines in sents:
flg = 0
for items in food:
if items in lines:
result.append(items)
flg=1
if flg==0:
result.append('None')
print(result)
# result = ['pizza', 'sub', 'none']
Ответ №3:
Result = list([x if sents.find(x) else 'none' for x in food])
#обновлено для string.find()
#кроме того, не учитывает различия в регистре
Комментарии:
1. Привет, похоже, это тоже не работает. Это приводит к: result = [‘none’, ‘none’, ‘none’, ‘none’, ‘none’]