基于条件过滤的高效列表分区
考虑需要根据条件将列表拆分为两个子列表。一种简单的方法需要对列表进行两次迭代,每个子列表一次。为了寻求一种高效而优雅的替代方案,我们探索了几种选择。
一种方法涉及手动迭代列表并根据条件检查动态地将每个元素附加到适当的子列表。下面的代码对此进行了演示:
good, bad = [], [] for x in mylist: (bad, good)[x in goodvals].append(x)
在此代码中,(bad, good) 表达式的计算结果为 bad 或 good,具体取决于 goodvals 中 x 的布尔值。然后调用所选子列表的append()方法来添加当前元素。
通过消除多次迭代的需要并使用简洁的列表理解,与以下两种方法相比,此方法提供了性能和代码可读性优势:迭代实现。
以上是如何基于条件过滤器高效地对列表进行分区?的详细内容。更多信息请关注PHP中文网其他相关文章!