Автор оригинала: Babatunde (codegenius1010).
На Python, на карте и функциях фильтра функции выглядят аналогично и устанавливают разницу между двумя, могут быть когда-то смущенным.
В этом посте я хотел бы выделить базовую разницу между двумя функциями с четкими примерами.
Хотя карты принимают нормальную функцию, фильтр принимает логические функции. На самом деле фильтр – это карты с условной логикой, логической логикой.
Давайте поставим это на перспективу с примерами.
Nums = [11, 22, 33, 44, 55]
Ниже приведен пример, используя карту
Карта (карта (лямбда х: х ** 2, nums)) Печать (карта)
[121, 484, 1936, 3025] Ниже приведен пример с использованием фильтра
Фильтр (фильтр (LAMBDA X:, NUMS)) Печать (фильтр)
[22, 44] Как вы можете видеть, два примера изменяли список номеров. Но хотя карта модифицирует список с обычной логикой, которая производит другой список, фильтр изменяет список с условной логикой, который отфиксирует некоторые элементы – те, которые не соответствуют условиям логической логики – – из списка NUMS.
Я надеюсь, что это приносит более четкую картинку в концепцию карты и фильтра в Python.
Спасибо