1
在Python 3(.6)中,是否有一種簡單的方法將可變長度列表縮小爲4,同時保持順序並返回第一個項目, 33%的位置,該項目在66%的位置和最後一個項目?使用固定間隔抽樣將列表縮小爲固定大小
因此,舉例來說,如果我有:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我希望它簡化爲:
[1, 3, 7, 10]
在Python 3(.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)]
]
是l
是原來的李ST。
很好,謝謝!這是我自己想到的。我想知道是否可能有一個我不知道的更容易使用的內置函數,但我猜不是。 –
您的輸入列表長度將始終大於4?如果不是預期輸出的元素數量較少的列表 – kuro
'l [:: int(len(a_list)/ 3)]',將返回'[1,4,7,10]'。我不確定你是否正在尋找一種像這樣削減切片的方法。 – nick
@kuro如果長度超過4,我只會使用這個功能。 –