Python 从列表中删除的随机样本
我在列表中有如下数据:Python 从列表中删除的随机样本,python,list,random,Python,List,Random,我在列表中有如下数据: L = [(3,4,5),(1,4,5),(1,2,3),(1,2,3)] 我需要随机抽取2号样本,因此我想使用: import random t1 = random.sample(set(L),2) 现在T1是一个随机抽取值的列表,但我想从初始列表中删除那个些从初始列表中随机抽取的值。我可以做一个线性for循环,但是对于这个任务,我试图做一个更大的列表。因此,运行时间将永远持续 有什么关于如何进行的建议吗 t1 = [L.pop(random.randrange(l
L = [(3,4,5),(1,4,5),(1,2,3),(1,2,3)]
我需要随机抽取2号样本,因此我想使用:
import random
t1 = random.sample(set(L),2)
现在T1是一个随机抽取值的列表,但我想从初始列表中删除那个些从初始列表中随机抽取的值。我可以做一个线性for循环,但是对于这个任务,我试图做一个更大的列表。因此,运行时间将永远持续
有什么关于如何进行的建议吗
t1 = [L.pop(random.randrange(len(L))) for _ in xrange(2)]
不更改
L
中其余元素的顺序一个选项是先刷新列表,然后弹出前两个元素
import random
L = [(3,4,5),(1,4,5),(1,2,3),(1,2,3)]
random.shuffle(L)
t1 = L[0:2]
-1
random.shuffle
是一个就地函数,因此返回None
。这个答案给出了:TypeError:'NoneType'对象没有属性'\uu getitem\uuu'
@jamylak抱歉,我已经更正了错误。感谢那些不知道的人的反馈,在Python3中,xrange已经被range所取代。