Python 使用固定间隔采样将列表缩减为固定大小

Python 使用固定间隔采样将列表缩减为固定大小,python,python-3.x,Python,Python 3.x,在Python3(.6)中,有没有一种简单的方法可以将可变大小列表的长度减少到4,同时保持其顺序并返回第一项、33%位置的项、66%位置的项和最后一项 例如,如果我有: [1,2,3,4,5,6,7,8,9,10] 我希望它减少到: [1,3,7,10]这就是您需要的: _= [ n for k,n in enumerate(l) if k+1 in [1,round(len(l)*0.33),round(len(l)*.66),len(l)] ] WAREl是原始列表。

在Python3(.6)中,有没有一种简单的方法可以将可变大小列表的长度减少到4,同时保持其顺序并返回第一项、33%位置的项、66%位置的项和最后一项

例如,如果我有:

[1,2,3,4,5,6,7,8,9,10]

我希望它减少到:

[1,3,7,10]

这就是您需要的:

_= [ n for k,n in enumerate(l) if k+1 in 
       [1,round(len(l)*0.33),round(len(l)*.66),len(l)]
   ]

WARE
l
是原始列表。

您的输入列表长度将始终大于4?如果不是,那么一个元素较少的列表的预期输出将返回
[1,4,7,10]
。我不确定您是否找到了这样的方法来剪切一个切片。@kuro我只会在长度超过4时使用这个函数。非常好,谢谢!这与我自己的想法是一致的。我想知道是否有一个更容易使用的内置函数我不知道,但我想不是。