乐趣区

关于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 时,纳入第二组。

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

退出移动版