Как извлечь список имен, которые начинаются с 's' и заканчиваются 'p' в input_list с использованием функции filter () в PYTHON? - PullRequest
0 голосов
/ 27 апреля 2020
input_list =  ['soap','sharp','shy','silent','ship','summer','sheep']

Извлечение списка имен, которые начинаются с s и заканчиваются p (оба 's' и 'p' строчные) в input_list с использованием функции filter.

Вывод должен быть:

['soap', 'sharp', 'ship', 'sheep']

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Вот как это можно сделать легко -

input_list =  ['soap','sharp','shy','silent','ship','summer','sheep']


def fil_func(name):
    if name[0]=='s' and name[-1]=='p':
        return True

correct_name = []
for i in input_list:
    name = list(filter(fil_func, input_list)) # list() is added because filter function returns a generator.
print(name)
0 голосов
/ 27 апреля 2020

Здесь вы go:

list(filter(lambda x: x.startswith("s") and x.endswith("p"), input_list))
...