Уведомления

Группа в Telegram: @pythonsu

#1 Июль 15, 2017 10:37:23

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Как вызвать partial через map?

 from functools import partial
def revers(a):
    print (a[::-1])
def main():
    func = partial(revers, 'hello')
    operations = []
    operations.append(func)
    map(lambda f: f(), operations)
    #for f in operations:
    #    f()
if __name__ == '__main__':
    main()

Если вызываю через map ничего не происходит, через через итерацию списка operations то все работает.

Как вызвать функцию через map?



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#2 Июль 15, 2017 10:51:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Как вызвать partial через map?

В третьем питоне map - это генератор, он не выполнится пока вы не начнете его явно перебирать

 from functools import partial
def revers(a):
    print (a[::-1])
def main():
    func = partial(revers, 'hello')
    operations = []
    operations.append(func)
    list(map(lambda f: f(), operations))
if __name__ == '__main__':
    main()



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version