Найти - Пользователи
Полная версия: Быстрый вопрос про аргументы функций
Начало » Python для новичков » Быстрый вопрос про аргументы функций
1
fyrros
Есть функция, которой передаются 3 аргумента. Хочется запустить её через map, но чтобы изменялся только один из трех аргументов, а остальные 2 задавались до этого. Думал над вариантом создания списка из трех списков, где 2 из них - повторяющиеся значения, но хочется чего-то более элегантного.
Как быть?
PooH
In [1]: ls = [1,2,3,4]

In [2]: def f(a, b, c):
...: return a*b+c
...:

In [3]: map(lambda x: f(x, 2, 3), ls)
Out[3]: [5, 7, 9, 11]
Александр Кошелев
http://docs.python.org/library/functools.html#functools.partial
Actor
как вариант - использовать карринг. хотя на счет эффективности ничего не скажу
http://www.intuit.ru/department/pl/python/class/free/3/7.html
fyrros
PooH
Про лямбду я и не подумал. Стильно, спс :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB