Различия между версиями 2 и 3
Версия 2 от 2012-04-27 23:09:55
Размер: 2433
Редактор: FrBrGeorge
Комментарий:
Версия 3 от 2012-04-27 23:10:16
Размер: 2434
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 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() на списке

  • Лямбда-функции

Домашнее задание

  1. {i} Прочитать в учебнике про Лямбда-функции и инструменты фунционального программирования.

  2. Решить ../2012-04-18#matan

    • в три строчки
      • подсказка: первоначальное присваивание можно сделать одной строкой
    • в две строчки
      • подсказка: чтобы присвоить элементу списка некоторое значение (например, в теле лямбда-функции) можно вместо P[i]=k использовать P.__setitem__(i,k)

      • грубая подсказка: __setitem__ возвращает None

    • в одну строку вообще без присваиваний (теперь это уж дело совсем простое)

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2012-04-25 (последним исправлял пользователь FrBrGeorge 2012-05-02 08:59:46)