Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的列表中有数据,例如:
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.
L
一种选择是随机播放列表,然后弹出前两个元素。
import random L = [(3,4,5),(1,4,5),(1,2,3),(1,2,3)] random.shuffle(L) t1 = L[0:2]