【问题标题】:Sequential select from list [closed]从列表中顺序选择[关闭]
【发布时间】:2020-09-25 15:25:57
【问题描述】:

我有说三个数字 [0,1,2,3] 的 python 列表

如果我选择 5 次,那么我应该会看到 0,1,2,3 然后返回 0 等等。 random.sample dsnt 保证它将在重复之前完成从池中选择所有数字。 随机播放也没那么有用

【问题讨论】:

  • edit 并标记一种语言 (python?)。
  • 另外请edit您的问题包括您目前拥有的代码,以及它有什么问题。但通常的方法是有一个缩小的数组,这样只有剩下的数字可用于下一次随机选择。
  • “随机播放也不那么有用”是什么意思?洗牌有什么问题?请阅读How to Ask

标签: python-3.x list random sample


【解决方案1】:

正如您所发现的,随机数并不能保证在重复之前将选择所有数字——这些数字是随机的。你想要的是一个洗牌。您将所需的数字放入列表/数组/等中:[0, 1, 2, 3]。然后你打乱列表:[2, 3, 1, 0]。现在从打乱的列表中按顺序选择数字。

某些语言具有内置的shuffle() 函数。否则,您可以实现 Fisher-Yates shuffle 来完成相同的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2014-01-06
    • 1970-01-01
    • 2019-01-27
    相关资源
    最近更新 更多