首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从列表中随机抽样

从列表中随机抽样
EN

Stack Overflow用户
提问于 2016-06-09 22:30:55
回答 1查看 3.2K关注 0票数 0

在python中,我有一个列表,如x[[1, 2, 3],[4, 5, 6], [7, 8, 9]]

我还有一个清单,y,就像[1, 2, 3, 4, 5, 6, 7, 8, 9]一样

我需要从y中获得两个没有放在x列表中的随机项,这样我就可以在x中切换它们,目标是类似于[[1, 2, 9], [4, 5, 6], [7, 8, 3]]。我目前的方法如下:

代码语言:javascript
复制
done = False
while not done:
    switchers = random.sample(y, 2)
    if indexInCourse(x, switchers[0]) != indexInCourse(course, switchers[1]):
        done = True

indexInCourse是一个函数,它返回在列表列表中的项目列表,因此对于(x, 1),它将返回0switchers的目标是成为两个不同的数字,它们在整体上处于不同的列表中,比如[1, 9][4, 7]。我目前的方法是有效的,但是对于我已经浏览过的大量列表,它的速度非常慢。有没有人知道更多的琵琶方法来做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-09 22:43:49

为什么不先从x中随机选择两个不同的列表,然后在它们之间随机交换两个元素的选择呢?

代码语言:javascript
复制
lists = random.sample(x, 2)
# now we swap two random elements between lists[0], lists[1]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37737239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档