【发布时间】:2020-03-17 07:59:25
【问题描述】:
我有一个列表,其中的元素已经排序。 我想过滤掉大于给定数字的元素。
例如,
original_list = [2,3,5,7,11]
limit = 6
expected_list = [2,3,5] # All elements <=6
实现这一目标的最有效方法是什么?
我看到的所有现有问题都处理未排序的列表。 如果列表已经排序,我相信会有一种更有效的过滤方式。
【问题讨论】:
-
5 在中间元素上,你可以定义中间元素
mid = len(original_list)\\2然后像x = original_list[:mid] -
@M3duZa 但如果不是呢?如果
limit是8怎么办? -
@M3duZa 列表已经排序,不需要每次都遍历到最后一个元素。
标签: python python-3.x sorting filter