You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何生成允许元素重复的随机列表?

生成允许重复的随机列表的方法

嘿,这个问题问得好!Python的random模块里有不少方法能满足你要的允许元素重复的随机列表需求,我给你整理几个最实用的:

  • random.choices()(Python 3.6及以上)
    这是官方专门为「有放回抽样」设计的方法,完美匹配你的需求。比如要从range(10)里生成4个可重复的随机元素,代码很简单:

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

    其中k参数用来指定你要生成的元素个数,返回的列表里元素完全可能重复。如果是从你提到的自定义列表(比如["item1", "item2", ..., "item10"])里选,直接把列表传进去就行:

    items = ["item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", "item9", "item10"]
    result = random.choices(items, k=4)
    
  • 循环调用random.randint()或random.randrange()(兼容旧版Python)
    如果你用的是Python 3.6之前的版本,没有choices()方法,可以用循环来逐个生成随机元素:

    import random
    # 用randint,范围是闭区间[0,9]
    result = [random.randint(0, 9) for _ in range(4)]
    # 或者用randrange,左闭右开[0,10),效果和上面一致
    result = [random.randrange(10) for _ in range(4)]
    

    这种方式每次生成一个独立的随机数,自然会出现重复的情况。

  • 别踩坑:不要用random.sample()来实现重复抽样
    顺带提一句,random.sample()本身是「无放回抽样」的实现,硬要让它生成重复元素只会徒增麻烦,完全没必要,直接用上面两种方法就好。

内容的提问来源于stack exchange,提问作者Aadil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:31:50