2433
Комментарий:
|
2434
|
Удаления помечены так. | Добавления помечены так. |
Строка 21: | Строка 21: |
* грубая подсказка: `__setitem__` возвращает `None` /*, так что конструкция `P.__setitem__(i,k) or P` обновляет элемент списка и возвращает этот список — отличное тело функции `reduce()` */ | * грубая подсказка: `__setitem__` возвращает `None` /* , так что конструкция `P.__setitem__(i,k) or P` обновляет элемент списка и возвращает этот список — отличное тело функции `reduce()` */ |
Элементы функционального программирования
Выражения-конструкторы списков ([… for …]) и генераторов ((… for …))
Функции map() и filter()
Функция reduce()
Цикл как map() на списке
- Лямбда-функции
Домашнее задание
Прочитать в учебнике про Лямбда-функции и инструменты фунционального программирования.
Решить ../2012-04-18#matan
- в три строчки
- подсказка: первоначальное присваивание можно сделать одной строкой
- в две строчки
подсказка: чтобы присвоить элементу списка некоторое значение (например, в теле лямбда-функции) можно вместо P[i]=k использовать P.__setitem__(i,k)
грубая подсказка: __setitem__ возвращает None
- в одну строку вообще без присваиваний (теперь это уж дело совсем простое)
- в три строчки
Условные обозначения
— тема по Linux
— необязательная тема
— теоретическое задание
— тема для самостоятельного изучения