只需从列表中抽样2个值,不带,
i_然后
i_稍后插入:
new_list = random.sample([i for i in myList if i != i_], 2)new_list.insert(random.randrange(0, 3), i_)
但这假设
i_您的列表中仅发生过一次-
在您的示例中似乎是合理的,但出于完整性考虑,我想提及这一点。另外,如果
i_列表中有多个,我也不确定期望的结果是什么。
您还可以使用hit&miss方法生成示例,直到获得包含
i_以下内容的示例:
new_list = []while i_ not in new_list: new_list = random.sample(myList, 3)
请注意,如果不太可能
i_在示例中绘制出来,这可能会非常慢。对于5个元素的3个样本,这是相当快的,但如果从1000个元素中绘制3个样本,则可能会
非常慢 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)