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)]  ]# EXAMPLESbifurcate_by(  ['beep', 'boop', 'foo', 'bar'],   lambda x: x[0] == 'b') # [ ['beep', 'boop', 'bar'], ['foo'] ]

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

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