我们怎样才能只保留两边都有三个或更多元素的元素呢?例如:
[1, 2, 3, 4] => [1, 4]
它
1
的右侧有三个元素,所以我们保留它。和
2
的3
两侧只有一个或两个元素,因此我们将其删除。它
4
的左边有三个元素,所以我们保留它。
更多示例:
[] => []
[1] => []
[1, 2] => []
[1, 2, 3] => []
[1, 2, 3, 4] => [1, 4]
[1, 2, 3, 4, 5] => [1, 2, 4, 5]
[1, 2, 3, 4, 5, 6] => [1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7] => [1, 2, 3, 4, 5, 6, 7]
编辑:这是一个不好的方法,以防有人确实介意我没有提供任何“尝试”:
L = [1, 2, 3, 4]
N = len(L)
for i in reversed(range(N)):
left = i
right = N - 1 - i
if not (left >= 3 or right >= 3):
L.pop(i)
print(L)
就这么简单?
印刷:
基于 Julien 的测试输出代码。