我有一个列表
lst = [4,5,2,1,5,7,5,8,3,2]
,我需要找到第一个元素和最后一个元素为5的子列表。结果应该是:
res = [5,2,1,5,7,5]
。
最优雅的方式(如果可能的话,采用单线)是什么?
答案 0 :(得分:1)
我想到的唯一解决方案是从前到下直到 您的前端和后端条件都得到满足。
这是您需要做的事情。
lst = [4, 5, 2, 1, 5, 7, 5, 8, 3, 2]
lst_size = len(lst)
lst_size = lst_size - 1
while(1):
if(lst[0] != 5):
lst.pop(0)
lst_size = lst_size - 1
if(lst[lst_size] != 5):
lst.pop(lst_size)
lst_size = lst_size - 1
else:
break
print(lst)
[5、2、1、5、7、5]