Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2011 08:18:46

fyrros
От:
Зарегистрирован: 2011-02-07
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Быстрый вопрос про аргументы функций

Есть функция, которой передаются 3 аргумента. Хочется запустить её через map, но чтобы изменялся только один из трех аргументов, а остальные 2 задавались до этого. Думал над вариантом создания списка из трех списков, где 2 из них - повторяющиеся значения, но хочется чего-то более элегантного.
Как быть?



Офлайн

#2 Март 16, 2011 08:42:11

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Быстрый вопрос про аргументы функций

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]



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Март 16, 2011 09:28:26

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Быстрый вопрос про аргументы функций

Офлайн

#4 Март 16, 2011 22:44:49

Actor
От:
Зарегистрирован: 2010-10-10
Сообщения: 39
Репутация: +  0  -
Профиль  

Быстрый вопрос про аргументы функций

как вариант - использовать карринг. хотя на счет эффективности ничего не скажу
http://www.intuit.ru/department/pl/python/class/free/3/7.html



Офлайн

#5 Март 17, 2011 07:47:47

fyrros
От:
Зарегистрирован: 2011-02-07
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Быстрый вопрос про аргументы функций

PooH
Про лямбду я и не подумал. Стильно, спс :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version