我想從列表中隨機刪除一部分元素而不更改列表的順序。隨機從列表中刪除'x'元素
說我有一些數據,我想刪除其中1/4:
data = [1,2,3,4,5,6,7,8,9,10]
n = len(data)/4
我想我需要一個循環通過數據運行,並刪除隨機元素「N」次?所以像這樣:
for i in xrange(n):
random = np.randint(1,len(data))
del data[random]
我的問題是,這是這樣做的最'pythonic'的方式?我的列表將長約5000個元素,我想用不同的'n'值多次執行此操作。
謝謝!
謝謝!我實際上想保留'a'中留下的內容而不是刪除的內容 –
@RichardHall查看更新 –
如果元素在數組中出現多次,這不起作用! – koalo