Python 中过滤,查看元素频率,展开列表
1.过滤
借助高阶函数 filter(function, iterable)
其作用是将可迭代序列中的每一个元素作为参数,传递给函数进行判断。返回True或False,然后将返回True的元素放到新生成的列表中。
如:
>>> def demo(list1):
... return list(filter(bool,list1))
>>> demo([1,2,'',0,3,233,False])
[1, 2, 3, 233]
- 此方法可以将布尔型的值(如:False,None,0,"")去掉
2.查看元素频率
借助函数 max(*args, key=None)与集合set()去重
如:
>>> def max_count(list1):
... return max(set(list1),key = list1.count)
...
>>> max_count([1,2,1,12,12,1,12,3,123,31,2])
1
>>>
- 此方法可以根据元素频率取列表中最常见的元素
3.展开列表
借助extend与append分别追加可迭代对象与自字符串,通过新建一个空列表遍历原列表,判断每一个元素的类型。
如:
>>> def demo(arg):
... res = []
... for i in arg:
... if isinstance(i,list):
... res.extend(i)
... else:
... res.append(i)
... return res
>>> demo([[1,2,3],4,[5,6]])
[1, 2, 3, 4, 5, 6]
- 通过遍历列表中的每一个元素,达到展开的目的。
非常感谢小伙伴们能看到这里,如果能还能点个赞,那就是对我最大的鼓励!