我有一个清单示例
list1=[[2,4],[5,10],[6,7],[8,9],[11,14],[13,16]]
我想根据条件删除完整的子列表。子列表中的第二个元素大于下一个子列表。所以我弹出了子列表,直到满足条件为止。
列表的输出应为
final_list1=[[2,4],[5,10],[11,14],[13,16]]
答案 0 :(得分:0)
您可以使用reduce
来完成
>>> from functools import reduce
>>> reduce(lambda lst,e: (lst+[e] if lst[-1][1]<=e[0] or lst[-1][1]<=e[1] else lst), [[list1[0]]] + list1[1:])
[[2, 4], [5, 10], [11, 14], [13, 16]]