Как отфильтровать список словарей по части слова или по букве?

Имеется список словарей и цикл с применением filter:

clientList = [{'name': 'Королев', 'manager': 'Соболев'}, {'name': 'Пушистый кот', 'manager': 'Юров'}]
def filter_set(clientList, search_string):
    def iterator_func(x):
        for v in x.values():
            if search_string in x.values():
                return True
         return False
    return filter(iterator_func, clientList)
filter_records = filter_set(clientList, name)
get_filter = list(filter_records)

Код работает, но требует точного описания объекта. Я могу не знать, что кот записан под фамилией Пушистый. Я просто хочу ввести "кот" и получить всех котов, которые есть в списке. Как в эксель, я могу ввести фамилию и он выдаст мне всех кто есть под этой фамилией. Как это сделать?
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Опечатка, вместо
if search_string in x.values():
сделать
if search_string in v:
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы