filter函数(filter函数的用法matlab)

前沿拓展:

filter函数

f来自ilter函数的用法,下面进行举例说明:

例如一个公司,需要找出年销售额超过2000万的城市销售金额,这个利用简单的表达式已无法解决,根据FILTER来实现。

1、销售总额 = sum('销售明细'[销售额])

2、再建一个度量值[大于2000万的城市销售金额]= CALCULATE([销售总额],FILTER(ALL('门店城市'),[销售总额]>20000000))。

3、超过

过滤函数格式:filter(函数,可迭代参数)

# 利用过滤函数filter将列表中的空值过滤掉,0是空值,负数不算空值
numbers = [3, 8, 0, -2, 9, 15, -1, 0, 45]
# filter第一个参数为None时,就代表过滤空值
result = filter(None, numbers)
print(list(result))
输出结果:
[3, 8, -2, 9, 15, -1, 45]

# 利用filter和lambda过滤掉奇数,形成一个新的偶数列表
numbers = [3, 8, 0, -2, 9, 15, -1, 0, 45]
result = filter(lambda x: x % 2 == 0, numbers)
print(list(result))
输出结果:
[8, 0, -2, 0]

# 利用filter和lambda把列表中的数字过滤出来
list1 = ['abc', 98, '34', 0, 9, 'uiy', 'jike', -5]
result = filter(lambda x: type(x) == int, list1)
print(list(result))
输出结果:
[98, 0, 9, -5]

# 利用过滤函数把列表中的数字和字符串型的数字过滤出来
list1 = ['abc', 98, '34', 0, 9, 'uiy', 'jike', -5]
result = filter(lambda x: isinstance(x, int) or x.isdigit(), list1)
print(list(result))
输出结果:
[98, '34', 0, 9, -5]

# 利用过滤函数将字典里成绩大于90的学生数据过滤出来
dict1 = {'张三': 90, '李四': 85, '王五': 80, '赵六': 92, '田七': 75, '周八': 100}
result = filter(lambda x: x[1] >= 90, dict1.items())
print(dict(result))
输出结果:
{'张三': 90, '赵六': 92, '周八': 100}

拓展知识:

原创文章,作者:九贤生活小编,如若转载,请注明出处:http://www.wangguangwei.com/36925.html