Форум сайта python.su
0
Читаю книгу, и там есть такой пример.
a=
map((lambda x: x+3), a)
должно вернуть а ничего не происходит,как вернуть список, в чем засада?
Офлайн
19
Что-то вы делаете не так. У меня лично работает.
выложите весь скрипт плиз.
Офлайн
0
cutwaterЭто не большие примерчики из книги как работает и как лучше, возвращает список почему то только цикл for, пробую на питоне 2.6.2!
Что-то вы делаете не так. У меня лично работает.
выложите весь скрипт плиз.
Офлайн
0
MalinaizerРазобрался он работает в интерактивном режиме а когда файл запускаешь надо принт перед функцией ставить!))))
Офлайн
0
map возвращает итератор вместо списка.
Офлайн
36
Dimka665Вы ничего не путаете? итератор возвращает imap из модуля itertools
map возвращает итератор вместо списка.
Офлайн
14
В py3k возвращаемое значение мигировало из списка в итератор . Так что правы все :)
Офлайн
20
Вы всё не правильно делатете, питонист должен писать так:
>>> map((3).__add__, )
Лямба - для новичков :-).
p.s. Да, да. Я знаю, что истинный профи будет писать curry(operator.add, 3), но для этого нужен curry, как я понимаю, он пока ни в каком виде не включен в стандартный набор модулей?!
..bw
Офлайн
72
bw
p.s. Да, да. Я знаю, что истинный профи будет писать curry(operator.add, 3), но для этого нужен curry, как я понимаю, он пока ни в каком виде не включен в стандартный набор модулей?!
from functools import partial
map(partial(operator.add, 3), [1,2,3,4])
Офлайн
20
Здорово, спасибо, не знал.
p.s. Это чудо появилось в 2.5, а я еще активно использую 2.4.
..bw
Отредактировано (Апрель 22, 2009 11:37:26)
Офлайн