首页 > 解决方案 > 更常见的函数式语法模式

问题描述

在 python 中,我熟悉以下函数的语法:

data = [{'Age': 10, 'Name': 'Greg'}, {'Age': 20, 'Name': 'Sarah'}]
filter(lambda item: item['Name'] == 'Greg', data)

并且filter它使用以下(近似)语法:

filter(condition, element_list)

最常见的功能语法是什么?使用上面的,或者翻转它以便element_listoriterable出现在第一位?为什么一种方法优于另一种方法?

标签: pythonfilterfunctional-programming

解决方案


在 Java、Swift 甚至 JavaScript 中,map都是filter列表中的方法。你会写

例如,Swift 会让你写:

myList.filter { item in item["name"] == "Greg" }

Java 会让您将数组转换为流,然后将各种映射和过滤操作应用于流:

myList.stream().forEach(item -> print(item))

[我的语法可能略有偏差。]


推荐阅读