关于python:Python代码阅读第24篇根据筛选函数将列表元素分成两组

Python 代码浏览合集介绍:为什么不举荐Python初学者间接看我的项目源码

本篇浏览的代码实现依据筛选函数将列表元素分成两组。

本篇浏览的代码片段来自于30-seconds-of-python。

bifurcate_by

def bifurcate_by(lst, fn):
  return [
    [x for x in lst if fn(x)],
    [x for x in lst if not fn(x)]
  ]

# EXAMPLES
bifurcate_by(
  ['beep', 'boop', 'foo', 'bar'], 
  lambda x: x[0] == 'b'
) # [ ['beep', 'boop', 'bar'], ['foo'] ]

bifurcate_by函数接管一个列表和一个筛选函数作为输出。依据筛选函数返回的值将列表元素纳入不同的组中。当筛选函数返回True时,纳入第一组,当筛选函数返回False时,纳入第二组。

函数应用两个列表推导式生成两个子列表,用于搁置两个组的元素。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理