Форум сайта python.su
0
Здравствуйте!
Очень мучает один вопрос.
У меня есть список из строк (=предложений). И надо выбрать из него все элементы, в которых встречаются отдельные слова.
original=['Three white sheep.', 'This is a snow white.', 'many years ago', 'one two three four.'] result=[item for item in original if 'white' in item or 'years' in item]
Офлайн
221
С ходу могу такое предложить. может и не самое красивое, но по практичнее будет
original = ['Three white sheep.', 'This is a snow white.', 'many years ago', 'one two three four.'] words = ['white', 'years'] result = [item for item in original if any(map(lambda x: x in item, words))]
Офлайн
20
Тоже предлагаю с использованием lambda для фильтрации
original = ['Three white sheep.', 'This is a snow white.', 'many years ago', 'one two three four.'] myfilter = lambda x, s1, s2: s1 in x or s2 in x result = [item for item in original if myfilter(item, 'white', 'years')]
Отредактировано old_monty (Ноя. 17, 2015 23:10:48)
Офлайн
857
Smth_unoriginalre.findall() + set.intersection(), иначе будешь находить the в theater.
У меня есть список из строк (=предложений). И надо выбрать из него все элементы, в которых встречаются отдельные слова.
Офлайн