有一个Swift等同于' Filter' Python中的函数?

时间:2015-08-21 19:03:58

标签: python swift unicode lambda swift-playground

在python中,使用'过滤器'从字符串/列表中删除不需要的项目非常简单。可以与' lambda'一起使用的功能功能。在python中,它很简单:

a = "hello 123 bye-bye !!£$%$%"
b = list(filter(lambda x: x.isalpha(), a))
c = "".join(b)
print(c) #Which would print "hellobyebye"

有没有办法轻松地在swift中复制它而不先转换为unicode,然后检查unicode值是否在一定范围内?还有,有什么' lambda'喜欢快速的东西?

1 个答案:

答案 0 :(得分:5)

是的,Swift中有一个等效的Filter函数:

  

过滤

     

filter方法接受一个函数(includeElement),给定一个   数组中的元素,返回一个指示元素是否的Bool   应该包含在结果数组中。例如,删除所有   数字数组中的奇数可以这样做:

let numbers = [ 10000, 10303, 30913, 50000, 100000, 101039, 1000000 ]
let evenNumbers = numbers.filter { $0 % 2 == 0 }
// [ 10000, 50000, 100000, 1000000 ]

有关Map, Filter and Reduce in Swift

的更多信息