【问题标题】:printing random list with the possibility of repeating items in Python [duplicate]打印随机列表,并有可能在 Python 中重复项目 [重复]
【发布时间】:2018-09-04 01:37:36
【问题描述】:

如果我有一个包含 10 个项目的列表,例如 ["item1", "item2", "item3", ..., "item10"]

random.sample(range(10), 4)

将返回范围内 4 个唯一项的列表。

是否有另一种“随机”方法返回可能重复项的随机列表?

【问题讨论】:

    标签: python python-2.7 list random


    【解决方案1】:

    没有用于替换采样的琐碎函数(如sample),因为它如此琐碎你真的不需要:

    [random.choice(range(10)) for _ in range(4)]
    

    有一个函数,用于更简单地使用替换抽样,choices。如果你愿意,你可以不用权重或其他任何东西来调用它:

    random.choices(range(10), k=4)
    

    但实际上并不容易理解。

    【讨论】:

    • 现在有random.choices :)
    • @miradulo 我正在将其编辑到问题中,试图弄清楚如何解释它添加了一个您可能不需要并且需要使用关键字参数的 3.6 依赖项,然后决定把所有这些都去掉……
    • 当然,我想每个人都有自己的想法 - 我觉得这很琐碎。
    • 感谢这段代码:[random.choice(range(10)) for _ in range(4)] 完成了这项工作。我有 python 2.7,所以 random.choices 不起作用
    • @miradulo 看起来 3.6 依赖项毕竟是相关的。 (用极简的问题总是很难猜到……)
    猜你喜欢
    • 2018-04-30
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 2022-08-08
    • 2017-09-16
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多