Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 1
Регистрация: 04.12.2016
Сообщений: 20

Lambda функции и keyword аргументы

18.04.2020, 12:09. Показов 2472. Ответов 6

Студворк — интернет-сервис помощи студентам
Нужно написать функцию поиска элемента последовательности, удовлетворяющего набору определенных условий.

Функция должна принимать следующие аргументы: Любую итерируемую последовательность или коллекцию, в которой будет производиться поиск. Сколько угодно функций-предикатов (функций, которые проверяют некоторое условие для каждого элемента последовательности). keyword-аргумент mode со значениями "and" или "or", определяющий, каким логическим оператором объединять предикаты. По умолчания: "and". keyword-аргумент default, определяющий значение, которое будет возвращено, если подходящий элемент не будет найден в последовательности. По умолчанию: None. Функция должна возвращать: первый элемент последовательности, который удовлетворяет предикатам согласно mode, т.е. либо всем одновременно, либо любому из них. В 1 строке: последовательность действительных чисел, разделенных пробелами. Во 2 строке: целое число N - количество предикатов. В каждой из следующих N строк: текстовое представление предиката (пример: lambda x: x > 5) В предпоследней строке: строки "and" или "or" - значение mode. В последней строке: действительное число или строка "None" - значение default.

Допустим, мы передаем строковое представление предиката в функцию и при помощи eval его преобразуем к lambda. Вопрос в том, как!! сравнить текущий элемент введенной последовательности со всеми введенными лямбда(с их условиями) внутри тела основной функции? И еще вопрос: как можно ввести 2 keyword-аргумента в данном случае? Ведь у них должно быть значение по умолчанию.
Никак не могу могу придумать адекватный код, который удовлетворял бы условиям.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.04.2020, 12:09
Ответы с готовыми решениями:

Создание функции, формирующую предложение из аргументов функции, аргументы . Аргументы - переменное число
Короче, вот бы всё норм. Хочу соединять, но он мне выдаёт ошибку, когда использую strcat. Не могу понять, с типами аргументов вроде проблем...

Транслируются ли аргументы функции CoCreateInstance в аргументы функции DllGetClassObject?
НУ то есть я думаю должно быть понятно, о чём речь. В клиенте вызывается функция: CoCreateInstance ( REFCLSID, аргумент__2, ...

Сконструировать \lambda-вызов и вычислить его значение Lambda
Задание Для выражения из таблицы согласно номеру варианта сконструировать \lambda - вызов и вычислить его значение. Присваивать...

6
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
18.04.2020, 12:53
Напишите обычную функцию, а потом переделайте в лябмда-

Добавлено через 42 секунды
Или я не понял вопроса
0
1 / 1 / 1
Регистрация: 04.12.2016
Сообщений: 20
18.04.2020, 13:49  [ТС]
Рыжий Лис,
Есть основная функция, туда передаются: итерируемая последовательность seq, некоторое количество предикатов pred (лямбда-функций) в строковом представлении как обычный текст, keyword-аргумент mode 'or' или 'and' для объединения предикатов и еще один keyword-аргумент None(по умолчанию) или число.Функция должна возвращать: первый элемент последовательности, который удовлетворяет предикатам согласно mode, т.е. либо всем одновременно, либо любому из них.
К примеру,
Python
1
2
3
4
def func(seq, *pred, **kwargs):
    #здесь нужно преобразовать pred из строкового вида в рабочую лямбда-функцию
    #и как-то проверить , удовлетворяет ли элемент из seq условиям(выражениям) всех lambda
    #(или одной lambda, в зависимости от переданного аргумента  -  or или and)
С *args и *kwargs еще не до конца разобрался, могу ошибаться в написании аргументов функции
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
18.04.2020, 14:02
Python
1
def func(iterable, *pred, mode='and', default=None):
Добавлено через 1 минуту
Давайте посмотрим, какие данные в *pred. Строки? Или ссылки на функции? Приведите пример входных данных.

Добавлено через 5 минут
Проще так:
Python
1
2
>>> eval('lambda x: x > 5')
<function <lambda> at 0x7fb82389dd08>
Python
1
2
3
4
functions = [eval(i) for i in pred]
if mode == 'and':
    if all(f(iterable[0]) for f in functions):
        return iterable[0]
1
1 / 1 / 1
Регистрация: 04.12.2016
Сообщений: 20
18.04.2020, 14:06  [ТС]
Рыжий Лис, прикрепляю скрины с требованиями и результатами тестов, чтобы было понятнее.
Миниатюры
Lambda функции и keyword аргументы   Lambda функции и keyword аргументы  
0
1 / 1 / 1
Регистрация: 04.12.2016
Сообщений: 20
18.04.2020, 15:20  [ТС]
Рыжий Лис, могли бы Вы объяснить, что выполняет "f" перед скобками в третьей строке?
Python
1
2
3
4
functions = [eval(i) for i in pred]
if mode == 'and':
    if all(f(iterable[0]) for f in functions): #
        return iterable[0]
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
18.04.2020, 15:29
Вызов скомпилированной лямбда-функции.

Добавлено через 26 секунд
Могли бы и дебаггером потыкать код.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.04.2020, 15:29
Помогаю со студенческими работами здесь

System.ArgumentException:"Keyword not supported:user id Имя параметра Keyword"
Добрый вечер, начал изучать ASP.NET MVC по мануалам в сети. Решил попробовать связку ASP.NET MVC + PostgreSQL но столкнулся с проблемой. ...

Словарь с значением lambda функции
Создать словарь, где ключи – названия математических действий(сложение и вычитание), а их значения lambda функции, выполняющие эти...

Lambda функции Напишите программу
Lambda функции Напишите программу, которая с помощью встроенных функций filter() и sorted() выводит слова из списка words, имеющие...

Работа функции lambda в коде
код рабочий , все считает как надо понять не могу , как работает в фукции lambda кусок кода x++ y]) какие значения здесь принимают...

Доступ к оъекту из lambda-функции
Доброго времени суток! Мне необходимо создать коллекцию объектов, при этом у каждого объекта необходимо реализовать уникальное поведение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru