我想从列表中随机删除一部分元素而不更改列表的顺序。随机从列表中删除'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