Используйте эти приемы и методы…
В этом посте мы расскажем о расширенных модулях Python и о том, как вы можете использовать их в своем коде.
Функции фильтра
В python фильтр создает список элементов, для которых функция возвращает значение true. Фильтр похож на цикл for, но это встроенная функция, которая работает быстрее.
Синтаксис:
фильтр (функция, итерации)
Фильтр также может принимать в качестве параметра пользовательские функции, а также лямбда-функции. И Filter, и Range требуют, чтобы вызовы списка отображали все их результаты.
Пример :
f_list = список (фильтр (лямбда a: (a% 2! = 0), список1))
Реализация -
marks = [95, 40, 68, 95, 67, 61, 88, 23, 38, 92] def stud(score): return score < 33 fail_list = list(filter(stud, marks)) print(fail_list)
Выход -
[23]
Уменьшить функции
Функция Reduce (reduce ()) применяет функцию к элементам последовательности слева направо, начиная с первых двух элементов в последовательности. Reduce вызывается с помощью лямбда-функции и итерации, и возвращается новый сокращенный результат.
Синтаксис -
reduce (func, iterable [, initial])
Реализация -
from functools import reduce list = [20, 40, 70, 30] print(reduce(lambda a, b: a - b, list))
Выход -
-120
Функции карты
В python Map позволяет обрабатывать и преобразовывать элементы итераций или коллекций без использования цикла for. Функция map () применяет данную функцию к каждому элементу данной итерируемой конструкции (то есть спискам, кортежам и т. Д.) И возвращает объект карты.
Синтаксис -
карта (функция, итерация)
Реализация -
numbers = [1,2,3,4,5] strings = ['s', 't', 'x', 'y', 'z'] mapped_list = list(map(lambda x, y: (x, y), strings, numbers)) print(mapped_list)
Выход -
[('s', 1), ('t', 2), ('x', 3), ('y', 4), ('z', 5)]
Куча
Структура данных, в которой элементы хранятся в порядке «последним поступил - первым ушел» (LIFO).
Методы, используемые в стеке -
- top () - возвращает адрес последнего элемента стека.
- push (i) - чтобы добавить элемент вверху стека
- pop () - для удаления самого верхнего элемента стека.
Реализация -
class Stack: def __init__(self): self.items = [] def isEmpty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop()
Одна из лучших статей, которые я нашел в стеке тем (обязательно к прочтению): Как решать вопросы программирования на Python с помощью стека, автор Лейхуа Йе, доктор философии. Исследователь
Закрытие
В python у нас есть функции внутри функций, которые известны как вложенная функция. Замыкание - это функциональный объект, который запоминает значения в охватывающих областях, даже если они не присутствуют в памяти. Используя замыкания, мы можем избежать использования глобальных переменных и реализовать скрытие данных. Чтобы создать замыкание в Python, мы должны иметь - вложенную функцию (функция внутри функции), а вложенная функция должна ссылаться на значение, определенное во включающей функции. Функция включения должна возвращать вложенную функцию. Декораторы Python широко используют замыкания.
Реализация -
def test(n): def mul(x): return x * n return mul obj1 = test(8) print(obj1(9))
Выход -
72
Advanced Python Made Easy, часть 6: скоро
Спасибо за прочтение. Продолжайте кодировать;)